# Recinto PinScope (Fase A) Documented fence. **No file moves.** `LICENSE` AGPL-3.0 is unchanged. The GitHub fork `manvalan/periscope` → `Faradworks/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).