Migrate hardware knowledge from mixed human documents into hardware-db without breaking existing user experience.
All existing folders and files stay in place. New machine readable files are additive.
- Keep original assets in board folders such as PDF, XLSX, DSN, PCB, and README
- Add structured JSON under
hardware-db/boards/<id> - Track evidence in
sources.yaml - Generate board summary snippets with
tools/generate_readme_snippets.py - Validate with
tools/validate_db.py
pinout.json is optional during early migration.
Use this staged approach:
- Stage A
- Do not create
pinout.jsonwhen data quality is uncertain - Keep
sources.yamlupdated with current evidence
- Do not create
- Stage B
- Extract stable connector pin tables from PDF or XLSX
- Normalize each pin with
number,name,functions,voltage,domain
- Stage C
- Add
pinout.json - Validate against
hardware-db/schemas/pinout.schema.json
- Add
- Stage D
- Add constraints and cross references in
capabilities.json - Keep source references and verification date current
- Add constraints and cross references in
- Locate board evidence files from existing paths
- Extract only verifiable facts with stable naming
- Convert units and terms to normalized values
- Preserve unknown values as
unknownornullas allowed - Record every input source path or URL in
sources.yaml
Recommended extraction targets:
board.json: board identity and static product fieldsinterfaces.json: interface list and optional version or lane widthpower.json: input power topology and optional power envelopescapabilities.json: agent retrieval tags, constraints, and use casespinout.json: connector level pin map once verified
- Keep existing folder structure and legacy docs untouched
- Update only the target board under
hardware-db/boards/<id> - Ensure required files exist:
board.json,interfaces.json,power.json,capabilities.json,sources.yaml - Ensure
sources.yamlcontainsdata_origin,references,last_verified_date - Run
python tools/validate_db.py - Run
python tools/generate_readme_snippets.py - Confirm
tools/out/<id>.mdis updated - Keep README marker blocks in board README files intact
- Run CI checks locally when possible before opening PR