AnasSarkiz/usb-c-pd-brushed-motor
USB-C PD-powered motor controller with protected input, selectable 5/9/12 V buck supply, MCU qualification, PWM H-bridge drive, overvoltage sensing, regenerative energy-dump resistors, and safety interlocks.
- Version
- 0.0.1-a48-cloud-pipeline9-unrouted-c41d79a-305b1e7a
- License
- unset
- Stars
- 0
scripts/audit-coordinate-serialization.ts
import { readFile, writeFile } from "node:fs/promises"
import { pcb_component, any_circuit_element } from "circuit-json"
import { z } from "zod"
const raw = z
.array(z.unknown())
.parse(
JSON.parse(
await readFile(
"dist/tests/coordinate-serialization-probe/circuit.json",
"utf8",
),
),
)
const failures = []
for (const [index, element] of raw.entries()) {
const header = z.object({ type: z.string() }).parse(element)
const parsed =
header.type === "pcb_component"
? pcb_component.safeParse(element)
: any_circuit_element.safeParse(element)
if (!parsed.success)
failures.push({ index, element, issues: parsed.error.issues })
}
const report = {
revision: "A9",
source: "tests/coordinate-serialization-probe.circuit.tsx",
inputCoordinates: { pcbX: "2mm", pcbY: "-2mm" },
status: failures.length ? "blocked: generated schema failure" : "passed",
failures,
}
await writeFile(
"evidence/coordinate-serialization-A9.json",
JSON.stringify(report, null, 2) + "\n",
)
console.log(JSON.stringify(report, null, 2))
if (failures.length) process.exitCode = 1