Rebrand Pinscope to Periscope across product and codebase.

Rename the core package to periscopex, update UI/docs/Docker/deploy defaults to periscope.michelebigi.it, and keep legacy version/storage key aliases so existing projects keep working.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-13 20:02:04 +02:00
co-authored by Cursor
parent 556306bf4d
commit 8d2b85600f
177 changed files with 869 additions and 766 deletions
+4 -4
View File
@@ -1,4 +1,4 @@
"""Locate pinscope-findings.json and decide schematic vs PCB focus.
"""Locate periscope-findings.json and decide schematic vs PCB focus.
Imported by the KiCad action plugin. No pcbnew/wx at import time so tests
can run in the repo venv.
@@ -15,7 +15,7 @@ def find_bridge_file(start: str | Path, *, max_up: int = 6) -> Path | None:
if cur.is_file():
cur = cur.parent
for _ in range(max_up + 1):
cand = cur / "pinscope-findings.json"
cand = cur / "periscope-findings.json"
if cand.is_file():
return cand
if cur.parent == cur:
@@ -27,7 +27,7 @@ def find_bridge_file(start: str | Path, *, max_up: int = 6) -> Path | None:
def load_bridge(path: str | Path) -> dict:
raw = json.loads(Path(path).read_text(encoding="utf-8"))
if not isinstance(raw, dict):
raise ValueError("pinscope-findings.json is not an object")
raise ValueError("periscope-findings.json is not an object")
return raw
@@ -39,7 +39,7 @@ def focus_target(finding: dict) -> dict:
kind = finding.get("target")
if kind not in ("sch", "pcb"):
rid = str(finding.get("rule_id") or "")
kind = "pcb" if rid.startswith(("PS-PLC", "PS-SI", "PS-LAY", "PS-3W", "PS-CLR")) else "sch"
kind = "pcb" if rid.startswith(("PE-PLC", "PE-SI", "PE-LAY", "PE-3W", "PE-CLR")) else "sch"
return {
"kind": kind,
"ref": ref,