Rulesets and Severity
Design Rule Check states, severity levels, what gets validated, and how results appear in Board Review and on the canvas.
Protoboard's Design Rule Check (DRC) engine validates every connection, resource allocation, and part-level constraint in your board. This page is the reference for what gets checked, what the result states mean, and how severity controls the build/ship decision.
DRC Configuration States
Every interface link in a harness is in exactly one of four states. These states drive the color coding you see on canvas edges and handles.
CONFIGURED
Green
All required functions are allocated and all constraints pass. The connection is fully valid.
PARTIALLY_CONFIGURED
Yellow / Amber
Some but not all required functions have been allocated. The link exists but is incomplete.
NOT_CONFIGURED
Gray
The interface link exists in the harness but no resource allocation has been performed yet.
INCOMPATIBLE
Red
The two interfaces cannot connect. Protocol mismatch, role conflict, or a hard constraint violation.
Severity Levels
When the DRC finds a problem, it assigns one of two severity levels:
Error
Blocks the board from passing review.
Errors represent hard failures that would cause the physical system to not work or to be unsafe. They must be resolved before the board is considered valid.
Examples:
Protocol type mismatch between linked interfaces
Role incompatibility (both sides are
master)Required function cannot be allocated (no available resource)
Voltage domain mismatch when
requires_matching_voltage_domainis trueResource over-allocation (same resource claimed by two exclusive interfaces)
Warning
Does not block review, but flags for human attention.
Warnings highlight conditions that are technically valid but may cause problems in practice. Reviewers should evaluate each warning and decide whether to accept or address it.
Examples:
A power output is near its maximum current budget
No pull-up resistors specified on an I2C bus
A part's
design_rulesnote is potentially violated by the current configurationA
warningsentry from the part definition applies to the current usageAn interface is linked but has more connections than typical for the protocol
What the DRC Checks
The DRC runs checks at multiple scopes, from individual resources up to the full board.
Resource-Level Checks
Exclusive allocation: A resource claimed by one interface cannot be claimed by another unless
shareable_withallows it.Function availability: The required function name must exist on the resource.
Power domain assignment: Resources referencing a
power_domain_idmust match a declared power domain.
Interface-Level Checks
Protocol match: Both sides of a link must have identical
protocol.type.Role compatibility: Roles must form a recognized pair (e.g.,
master/slave,output/input).Function completeness: Every entry in the
requiresarray must be satisfied by an allocated resource on the owning part.Constraint satisfaction:
max_connections,requires_matching_voltage_domain,requires_impedance_matching,requires_connector_type, and any other constraint fields must be met.
Part-Level Checks
design_rulesevaluation: String-based rules from the part definition are surfaced to the user for manual review (e.g., "Maximum 40mA per I/O pin").Total current budget: Aggregate current draw across all allocated power outputs is checked against the power domain's
max_current_mA.Pin count sanity: Total allocated resources should not exceed
pin_count(when specified).
Board Review
Board Review is the UI where all DRC results are presented. It aggregates every check across every harness and part into a single pass/fail summary.
Review Structure
Summary
Overall status (Pass / Fail), total error count, total warning count.
By Harness
Each harness listed with its interface links and their individual states (CONFIGURED, PARTIALLY_CONFIGURED, etc.).
By Part
Each part listed with its resource utilization, unallocated interfaces, and applicable design rules.
Errors
Flat list of all errors with the affected harness, interface, and resource identified.
Warnings
Flat list of all warnings, grouped by category.
Pass / Fail Criteria
Zero errors
Pass (warnings may still be present).
One or more errors
Fail; the board cannot be considered validated.
Visual Feedback on Canvas
The canvas provides real-time visual cues so you can spot issues without opening Board Review.
Edge Colors (Harness Lines)
Green
All interface links in the harness are CONFIGURED.
Yellow / Amber
At least one link is PARTIALLY_CONFIGURED; none are INCOMPATIBLE.
Gray
All links are NOT_CONFIGURED (no allocation yet).
Red
At least one link is INCOMPATIBLE.
Handle Colors (Interface Attachment Points)
Interface handles on each part node follow the same color scheme as the link they belong to. A part with multiple harnesses may show different-colored handles for different connections.
Part Node Indicators
Parts themselves may display a small badge or outline tint when:
They have unconnected interfaces that could be linked (informational).
A design rule from their definition is potentially violated (warning badge).
A resource is over-allocated or a hard constraint fails (error badge).
Ruleset Scopes
Rules in Protoboard can attach at any level of the hierarchy:
Resource
"This pin cannot exceed 40 mA."
Resource Group
"Only one of these GPIO pins can serve as hardware I2C at a time."
Interface
"Max 8 connections on this I2C bus."
Harness
"Total current through this cable must not exceed 2 A."
Part
"VIN must be 7-12V when using external power."
Board
"Total power consumption must not exceed PSU budget."
Rules can be hard errors (blocking) or warnings (advisory). When a rule includes a suggested fix (e.g., "insert external regulator" or "move device to a different bus"), that suggestion appears alongside the diagnostic in Board Review.
Compatibility Scoring
Beyond pass/fail, Protoboard evaluates compatibility along three axes:
Sentimental (Human)
Based on community feedback, user reports, application notes, and reliability data. The system tracks evidence sources (datasheets, documentation, reviews, project logs) and user decisions (accepting autofixes, rejecting connections) to refine recommendations over time.
Score: 0 to 1.
These three scores combine into an overall compatibility score with configurable weights. A hard failure in the architectural check caps the total score regardless of the other axes. Physics constraints always override sentiment.
Allocation and verification flow
When you connect two parts and configure the harness, Protoboard follows this sequence:
Connect: link two parts via a single harness
Select: identify which interfaces to link within the harness
Match: locate candidate resources that satisfy each interface function
Assign: bind and reserve resources (manually or via auto-allocate)
Validate: execute rulesets from resource scope upward through interface, harness, part, and board levels
Score: combine architectural, behavioral, and sentimental evaluations
Report: output pass/fail status, warnings, diagnostics, and correction suggestions
Commit: lock valid connections; offer autofix options for invalid ones
Quick Reference
DRC
Design Rule Check, the automated validation pass.
Error
A hard failure that blocks board validation.
Warning
An advisory flag for human review.
CONFIGURED
All functions allocated, all constraints pass.
PARTIALLY_CONFIGURED
Some functions allocated, link is incomplete.
NOT_CONFIGURED
Link exists but no allocation performed.
INCOMPATIBLE
Connection is impossible (protocol/role/constraint mismatch).
Board Review
The UI that presents aggregated DRC results.
Last updated

