Files
periscope/docs/development/PINSCOPE_FENCE.md
T
michele a63e5bd7ab Fase A identity on PCB HEAD: operator fence, keep BOM/SPOF/EMI.
Replace Faradworks Inc. TOS/privacy/contact/metadata with Michele Bigi.
Dual-read pinscope_* keys; write periscope_* only. AGPL LICENSE and
GitHub fork parent unchanged. validate.py not edited.
2026-09-20 12:41:17 +02:00

2.2 KiB

Recinto PinScope (Fase A)

Documented fence. No file moves. LICENSE AGPL-3.0 is unchanged. The GitHub fork manvalan/periscopeFaradworks/Pinscope is not detached.

Branch topology

Ref Role
origin/main Archival: upstream Pinscope + Docker/OSS (+3). Not the live product.
cursor/pcb-review-plan-44dd Live product (schema, PCB exam, finding engine). PCB workers stay here.
cursor/pinscope-fase-a-identity Fase A identity + compat fence only. Do not land engine/PCB rewrites on this branch.

Merging product onto main is a later process step, still without detaching the fork.

Inherited tree (KEEP behind the fence)

Treat as in-tree PinScope, not as “native Periscope”:

  • backend/periscopex/{graph,models,parsers*,validate,validation_tools,resolve_passives,derating,bom_summary,taxonomy,pin_mux_check,led_current_check,pin_function_tokens}
  • backend/services/pipeline.py, pipeline_worker.py, validation.py, extraction.py (DIRECT)
  • skills/, scripts/upload_skills.py
  • Open-core Clerk/billing stubs
  • simple_project/ fixtures, docs/how-it-works.svg

Native Periscope (do not fold into the fence): finding_engine.py, PCB/placement/antenna jobs, DeepSeek providers, local JWT, this identity layer.

Write vs read (identifiers)

Write (native) Read-only / migrate
periscope_token pinscope_token
periscopex:* localStorage pinscopex:*
JWT iss=periscope-local also accept pinscope-local
periscope_version in project.json also accept pinscope_version

Code: frontend/src/lib/pinscope-compat.ts, backend/pinscope_compat.py.

Do not rename live Docker networks pinscope_pinscope / pinscope_periscope in Fase A (VPS Caddy).

Identity

Operator of https://periscope.michelebigi.it is Michele Bigi. UI, TOS, privacy, metadata, and contact must not say the operator is Faradworks, Inc. Attribution to Faradworks/Pinscope remains for AGPL lineage only.

Out of scope here (later phases)

Clerk/Anthropic runtime isolation (B). Rewrite of validate.py / finding engine (C). UI FindingCard (D). Parsers/graph (E). Fork detach (legal, not this plan).