spec-validator · git:20261106.a0a79f8 · 2026-11-06 · sha256 d0cc387266421138
spec-validator git:20261106.a0a79f8A
Immutable. This exact content never changes and is served at /api/v1/blob/d0cc387266421138.
--- name: spec-validator description: "Cross-check Datasheet, Application Note, and Spec for consistency. Detects pin name mismatches, register address conflicts, and unresolved TBD values. Also runs auto-quality scoring on DS (0-100) and AN (0-80). Triggers when: 'check consistency', 'validate docs', 'cross-check DS and AN', 'are the docs consistent', 'run spec validator', or before Checkpoint 1 gate. This is an automated pre-gate check — run before every Phase 1 to Phase 2 transition." --- # Review specification consistency Read the datasheet, application note and specification as the design inputs. Compare their facts where the generated documents and RTL consumers use them. - Match pin names, directions, widths and voltage domains. - Compare register addresses, field widths, reset values and access behavior. - Compare clock rates, timing units, protocol encoding and latency. - Resolve contradictory limits, absent requirements and undocumented defaults. - Check that examples exercise the stated normal, boundary and error cases. Keep original source and PDK limits. Report the conflicting facts with their source locations rather than resolving them through a quality score. When RTL exists, run the normal native lint, simulation, formal or equivalence task for the concrete requirement. An absent execution result is `NOT_MEASURED`. Read the selected rows in `<project>/reports/flow_engine.json` and open their native `reports`. `flow/steps.json` names each current tool and `flow/native_limits.json` retains its original limits. Review `tool_ran`, `native_steps`, `native_metrics`, and each metric's value, operator and limit. A missing native measurement is `NOT_MEASURED`. AI reviews the engineering meaning of every result and fixes problems in the design, tool or plugin. ```bash python3 programs/flow_engine.py report --project <project> ```