Candidate review · r1

This candidate needs changes

Do not release or fabricate this candidate yet. One or more checks found design or source problems. Start with the selected repair workflow below.

golden_rp2040_usb_hid tscircuit backend usb_hid_and_cdc_peripheral generated 2026-07-19T02:24:55.723971+00:00

What to do next

Resolve the blockers

Each item below explains what stopped, why it matters, and the safest next move. Select only the work you want an agent or engineer to handle now.

This page does not silently change your hardware project.
It turns your selections and notes into a scoped agent workflow. Human approvals and physical test evidence stay human-controlled.
Root cause #3 · blocked

physical qualification

Required physical qualification evidence is missing or unapproved: assembly_inspection (+8 more findings)

Next: Complete the named bench tests, attach the required records, and approve only evidence you actually reviewed.

Root cause #1 · fail

sourcing

J1 lacks current supplier availability evidence (+30 more findings)

Next: Add current supplier evidence or select a qualified alternate, then rerun sourcing checks.

Root cause #2 · blocked

native zephyr build

The selected ARM GCC cannot resolve the newlib runtime required by Zephyr

Next: Restore the missing prerequisite or evidence, then rerun this check.

01 / SCOPESelect and add context

Choose the blockers to address. Add decisions, constraints, or evidence in the note fields.

02 / REPAIRHand off to your agent

The copied prompt requests a repair plan first, safe changes second, and asks before approvals.

03 / VERIFYRun every check again

Regenerate the evidence snapshot. A local note or copied plan never counts as a passed gate.

Visual evidence

3D Assembly Preview

Use the model to understand the candidate layout. Release still depends on the checks and physical evidence, not the image.

Isometric PCB assembly preview

Validation matrix

Every check

Failed means the check found a problem. Blocked means the check could not reach a result, usually because a tool, input, evidence record, or prerequisite is missing.

CheckResultWhat it meansFindingsEvidence sample
autoroutePassedThe available evidence satisfied this check.0filled_polygon_count: 1 · freerouting_unrouted: 0
bomPassedThe available evidence satisfied this check.0errors: 0 · warnings: 0
candidate_criticPassedThe check passed, with advisory observations retained below.1backend: tscircuit · critic_version: candidate_critic_v0
component_provenancePassedThe available evidence satisfied this check.0components_checked: 31
component_resolutionPassedThe available evidence satisfied this check.0critical_roles: 5 · project_owned: 0
datasheet_evidencePassedThe available evidence satisfied this check.0components_checked: 31
design_dependency_graphPassedThe available evidence satisfied this check.0blocked_or_unpassed_nodes: ['native_zephyr_build', 'physical_qualification', 'sourcing', 'supplier_availability'] · declared_edges: 87
firmware_interface_contractPassedThe available evidence satisfied this check.0config_options: ['CONFIG_GPIO=y', 'CONFIG_SPI=y', 'CONFIG_USB_CDC_ACM=y', 'CONFIG_USB_DEVICE_STACK=y'] · pinmap_signals: ['MCU_RUN', 'QSPI_CLK', 'QSPI_CS', 'QSPI_D2', 'QSPI_D3', 'QSPI_MISO', 'QSPI_MOSI', 'USB_DM', 'USB_DP', 'XIN', 'XOUT']
firmware_modulesPassedThe available evidence satisfied this check.0artifact_check_enabled: True · isr_count: 0
firmware_pinmapPassedThe available evidence satisfied this check.0errors: 0 · warnings: 0
hw_sw_parityPassedThe available evidence satisfied this check.0errors: 0 · warnings: 0
interface_integrityPassedThe available evidence satisfied this check.0can_pair_present: False · errors: 0
ir_ercPassedThe available evidence satisfied this check.0components: 31 · nets: 24
ir_pcb_sanityPassedThe available evidence satisfied this check.0declared_copper_layers: ['B.Cu', 'F.Cu'] · expected_copper_layers: ['B.Cu', 'F.Cu']
kicad_library_crosscheckPassedThe available evidence satisfied this check.0issues: 0 · method: native_erc_drc_library_resolution
layout_signal_integrityPassedThe available evidence satisfied this check.0noisy_power_components: 0 · oscillator_crystals: 1
layout_thermal_integrityPassedThe available evidence satisfied this check.0board_area_mm2: 1950.0 · high_current_chain_max_step_mm: 35.0
mechanical_connector_cutoutsPassedThe available evidence satisfied this check.0alignment_failure_refs: [] · connector_refs: ['J1']
mechanical_connector_retentionPassedThe available evidence satisfied this check.0connectors_exposed: True · errors: 0
mechanical_fitPassedThe available evidence satisfied this check.0errors: 0 · warnings: 0
mechanical_mounting_integrityPassedThe available evidence satisfied this check.0assembly_clearance_mm: 0.5 · collision_refs: []
native_drcPassedThe available evidence satisfied this check.0violations: 0
native_ercPassedThe available evidence satisfied this check.0footprint_link_issues: 0 · violations: 0
native_mechanical_validationPassedThe available evidence satisfied this check.0assembly_interference_free: True · board_fit: True
native_zephyr_buildBlockedNo result was reached because a required tool, input, prior check, or evidence record is missing.1
physical_qualificationBlockedNo result was reached because a required tool, input, prior check, or evidence record is missing.9approved_passed: 0 · failed: 0
pin_symbol_footprintPassedThe available evidence satisfied this check.0errors: 0 · warnings: 0
placement_constraintsPassedThe available evidence satisfied this check.0authoritative: False · constraints: 23
power_integrity_dc_operating_pointPassedThe available evidence satisfied this check.0intermediate_node_voltages: {'MCU_RUN': 0.0, 'QSPI_CLK': 0.0, 'QSPI_CS': 3.3, 'QSPI_D2': 0.0, 'QSPI_D3': 0.0, 'QSPI_MISO': 0.0, 'QSPI_MOSI': 0.0, 'SWCLK': 0.0, 'SWDIO': 0.0, 'USB_CC1': 0.0, 'USB_CC2': 0.0, 'USB_DM': 0.0, 'USB_DM_ESD': 0.0, 'USB_DM_RAW': 0.0, 'USB_DP': 0.0, 'USB_DP_ESD': 0.0, 'USB_DP_RAW': 0.0, 'XIN': 0.0, 'XOUT': 0.0, 'XTAL_RETURN': 0.0} · ngspice_available: True
power_integrity_estimatePassedThe available evidence satisfied this check.0coverage: {'V1V1': {'bulk': [], 'declared_peak_current_a': 0.15, 'decoupling': ['C10', 'C12', 'C4'], 'high_current_connector_loads': [], 'loads': ['U2']}, 'V3V3': {'bulk': [], 'declared_peak_current_a': 0.3, 'decoupling': ['C1', 'C11', 'C13', 'C16', 'C2', 'C3', 'C5', 'C6', 'C7', 'C8', 'C9'], 'high_current_connector_loads': [], 'loads': ['J2', 'U2', 'U3']}} · errors: 0
power_tree_integrityPassedThe available evidence satisfied this check.0component_voltage_limits: {} · declared_power_transfers_checked: 1
reference_fabricationPassedThe available evidence satisfied this check.0artifact_count: 10 · candidate_only: True
reference_firmware_buildPassedThe available evidence satisfied this check.0
requirements_loweringPassedThe available evidence satisfied this check.0errors: 0 · warnings: 0
rp2040_reference_circuitPassedThe available evidence satisfied this check.0contract: rp2040_usb_qspi_reference_v1 · errors: 0
semantic_electricalPassedThe available evidence satisfied this check.0errors: 0 · warnings: 0
semantic_schematic_roundtripPassedThe available evidence satisfied this check.0code_roundtrip_exact: True · components: 31
sourcingFailedThe check ran and found a design, source, or evidence problem that must be corrected.31errors: 31 · warnings: 0
sourcing_resiliencePassedThe available evidence satisfied this check.0alternate_roles: 1 · checked_alternates: 1
spec_schemaPassedThe available evidence satisfied this check.0errors: 0 · warnings: 0
supplier_availabilityBlockedNo result was reached because a required tool, input, prior check, or evidence record is missing.31components_checked: 31 · provider: curated
support_circuit_completenessPassedThe available evidence satisfied this check.0components: 31 · critical_roles: 5
tscircuit_compilePassedThe available evidence satisfied this check.0circuit_elements: 1568 · pcb_validation_errors: 0
tscircuit_footprint_parityPassedThe available evidence satisfied this check.0components_checked: 31 · pcb_components: 31
tscircuit_graph_parityPassedThe available evidence satisfied this check.0compiled_nets: 24 · expected_nets: 24
tscircuit_layout_completenessPassedThe available evidence satisfied this check.0pcb_validation_errors: 0 · placed: 31
tscircuit_manufacturing_exportPassedThe available evidence satisfied this check.0bom: True · drill_files: 1
tscircuit_netlist_extractPassedThe available evidence satisfied this check.0nets: 24

Raw evidence

Technical findings

Use this section when repairing or auditing the candidate. Messages and paths are preserved from the gate reports.

Passed candidate_critic1 finding
warning / physical_oracle_gap_open

Candidate still requires external physical qualification evidence; this is not a software gate failure

path · validation.physical
{
  "gap_categories": [
    "assembly_process",
    "assembly_quality",
    "bringup",
    "emi_emc",
    "environmental_safety",
    "firmware_co_design",
    "mechanical_reliability",
    "si_pi",
    "thermal"
  ],
  "physical_qualification_status": "blocked",
  "required_tests": 9
}
Blocked native_zephyr_build1 finding
error / arm_newlib_unavailable

The selected ARM GCC cannot resolve the newlib runtime required by Zephyr

{
  "available": false,
  "compiler": "<host-path>/arm-none-eabi-gcc",
  "error": null,
  "explicit_root": false,
  "files": {
    "libc.a": "libc.a",
    "libnosys.a": "libnosys.a",
    "nosys.specs": "nosys.specs"
  },
  "missing": [
    "nosys.specs",
    "libc.a",
    "libnosys.a"
  ],
  "source": "PATH",
  "toolchain_root": "<host-path>/homebrew"
}
Blocked physical_qualification9 findings
error / physical_evidence_missing

Required physical qualification evidence is missing or unapproved: assembly_inspection

path · validation.physical_evidence.assembly_inspection
{
  "category": "assembly_quality",
  "evidence_required": [
    "photos",
    "assembly_checklist",
    "bom_lot_trace"
  ]
}
error / physical_evidence_missing

Required physical qualification evidence is missing or unapproved: via_in_pad_process_qualification

path · validation.physical_evidence.via_in_pad_process_qualification
{
  "category": "assembly_process",
  "evidence_required": [
    "fabricator_via_in_pad_capability_statement",
    "released_fabrication_and_assembly_notes",
    "microsection_or_certificate_of_conformance",
    "xray_or_equivalent_joint_inspection",
    "first_article_yield_report"
  ]
}
error / physical_evidence_missing

Required physical qualification evidence is missing or unapproved: current_limited_power_up

path · validation.physical_evidence.current_limited_power_up
{
  "category": "bringup",
  "evidence_required": [
    "bench_supply_log",
    "rail_voltage_measurements",
    "thermal_image_optional"
  ]
}
error / physical_evidence_missing

Required physical qualification evidence is missing or unapproved: firmware_interface_bringup

path · validation.physical_evidence.firmware_interface_bringup
{
  "category": "firmware_co_design",
  "evidence_required": [
    "flash_log",
    "interface_probe_log",
    "firmware_revision_hash"
  ]
}
error / physical_evidence_missing

Required physical qualification evidence is missing or unapproved: thermal_load_profile

path · validation.physical_evidence.thermal_load_profile
{
  "category": "thermal",
  "evidence_required": [
    "thermal_camera_capture",
    "load_profile_log",
    "ambient_temperature_log"
  ]
}
error / physical_evidence_missing

Required physical qualification evidence is missing or unapproved: emi_emc_prescan

path · validation.physical_evidence.emi_emc_prescan
{
  "category": "emi_emc",
  "evidence_required": [
    "emi_prescan_report",
    "test_setup_photos",
    "cable_configuration"
  ]
}
error / physical_evidence_missing

Required physical qualification evidence is missing or unapproved: signal_power_integrity_probe

path · validation.physical_evidence.signal_power_integrity_probe
{
  "category": "si_pi",
  "evidence_required": [
    "oscilloscope_captures",
    "probe_points",
    "load_state_log"
  ]
}
error / physical_evidence_missing

Required physical qualification evidence is missing or unapproved: vibration_connector_retention

path · validation.physical_evidence.vibration_connector_retention
{
  "category": "mechanical_reliability",
  "evidence_required": [
    "vibration_test_log",
    "post_test_inspection_photos",
    "connector_retention_measurements"
  ]
}
error / physical_evidence_missing

Required physical qualification evidence is missing or unapproved: ingress_esd_abuse_check

path · validation.physical_evidence.ingress_esd_abuse_check
{
  "category": "environmental_safety",
  "evidence_required": [
    "ingress_test_report_or_waiver",
    "esd_test_log_or_waiver",
    "enclosure_photos"
  ]
}
Failed sourcing31 findings
error / supplier_availability_unknown

J1 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

D1 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

R1 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

R2 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

U1 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

U2 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

U3 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

X1 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

R3 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

R4 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

R5 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

R6 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

J2 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C1 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C2 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C3 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C4 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C5 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C6 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C7 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C8 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C9 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C10 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C11 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C12 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C13 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C14 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C15 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C16 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C17 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
error / supplier_availability_unknown

C18 lacks current supplier availability evidence

path · electronics.components
{
  "availability": "unknown",
  "provider": "curated"
}
Blocked supplier_availability31 findings
error / supplier_availability_unknown

Current availability is not evidenced for J1 at curated

path · J1
error / supplier_availability_unknown

Current availability is not evidenced for D1 at curated

path · D1
error / supplier_availability_unknown

Current availability is not evidenced for R1 at curated

path · R1
error / supplier_availability_unknown

Current availability is not evidenced for R2 at curated

path · R2
error / supplier_availability_unknown

Current availability is not evidenced for U1 at curated

path · U1
error / supplier_availability_unknown

Current availability is not evidenced for U2 at curated

path · U2
error / supplier_availability_unknown

Current availability is not evidenced for U3 at curated

path · U3
error / supplier_availability_unknown

Current availability is not evidenced for X1 at curated

path · X1
error / supplier_availability_unknown

Current availability is not evidenced for R3 at curated

path · R3
error / supplier_availability_unknown

Current availability is not evidenced for R4 at curated

path · R4
error / supplier_availability_unknown

Current availability is not evidenced for R5 at curated

path · R5
error / supplier_availability_unknown

Current availability is not evidenced for R6 at curated

path · R6
error / supplier_availability_unknown

Current availability is not evidenced for J2 at curated

path · J2
error / supplier_availability_unknown

Current availability is not evidenced for C1 at curated

path · C1
error / supplier_availability_unknown

Current availability is not evidenced for C2 at curated

path · C2
error / supplier_availability_unknown

Current availability is not evidenced for C3 at curated

path · C3
error / supplier_availability_unknown

Current availability is not evidenced for C4 at curated

path · C4
error / supplier_availability_unknown

Current availability is not evidenced for C5 at curated

path · C5
error / supplier_availability_unknown

Current availability is not evidenced for C6 at curated

path · C6
error / supplier_availability_unknown

Current availability is not evidenced for C7 at curated

path · C7
error / supplier_availability_unknown

Current availability is not evidenced for C8 at curated

path · C8
error / supplier_availability_unknown

Current availability is not evidenced for C9 at curated

path · C9
error / supplier_availability_unknown

Current availability is not evidenced for C10 at curated

path · C10
error / supplier_availability_unknown

Current availability is not evidenced for C11 at curated

path · C11
error / supplier_availability_unknown

Current availability is not evidenced for C12 at curated

path · C12
error / supplier_availability_unknown

Current availability is not evidenced for C13 at curated

path · C13
error / supplier_availability_unknown

Current availability is not evidenced for C14 at curated

path · C14
error / supplier_availability_unknown

Current availability is not evidenced for C15 at curated

path · C15
error / supplier_availability_unknown

Current availability is not evidenced for C16 at curated

path · C16
error / supplier_availability_unknown

Current availability is not evidenced for C17 at curated

path · C17
error / supplier_availability_unknown

Current availability is not evidenced for C18 at curated

path · C18

Candidate context

Design details

These values identify the exact candidate and evidence snapshot reviewed above. They are context, not proof of release readiness.

Candidate identity

Project
golden_rp2040_usb_hid
Revision
r1
Backend
tscircuit
Target use
usb_hid_and_cdc_peripheral

Board and placement

Board
65.0 × 30.0 mm
Placements
31
Constraints
23
Unenforced kinds
thermal_spacing

Evidence coverage

Components
31 of 31 resolved
Supplier source
curated
Critical assumptions
0 unresolved
Requirements
0 unresolved

Snapshot integrity

Bundle version
1.0
Bundle hash
7d6731501a24716965593f7fcdc168a3d739d1b0a1b7a57f7a0b29fee51c1b84
Artifacts indexed
44
Iterations indexed
5