graph_build searches project uploads and library blob refs, persists recovered Z, and still loads when the PDF has no impedance. Ohms are not written to henries.
Periscope tree layout
Physical split (not a rewrite). AGPL LICENSE stays at the git root. The GitHub fork is not detached.
| Tree | Path | Role |
|---|---|---|
| Native Periscope | periscope/src/ |
Finding engine clamp, PCB/placement/antenna, DeepSeek, local auth, KiCad plugin, deploy Dockerfiles |
| Inherited PinScope | periscope/dependency/ |
Graph/parsers/validate.py, pipeline/extraction, OSS Next.js shell, skills, taxonomy, simple_project |
| Third party | vendor/impedancefinder/ |
ImpedenceFinder (license UNKNOWN) |
| Glue | backend/__init__.py |
Merges the two backend packages for local imports |
Do not empty-delete periscope/dependency/. Later phases replace PinScope modules incrementally in periscope/src (Fase C). validate.py stays until a native reviewer exists.
Docker overlays dependency then src into /app. Local frontend: cd periscope/dependency/frontend && npm run dev (native files are symlinked from periscope/src/frontend).