# Design ## Repository Boundary The browser repository remains responsible for `platform/`, `platform_web/`, and `plugins/`. The machine-side executor implementation is owned by `git@git.npc0.com:admin343/run.git`. Browser-side code can still expose platform APIs for run endpoints, jobs, logs, artifacts, and runtime package distribution. Those are platform contracts, not embedded run implementation code. ## Local Development Local debug workflows use `RUN_REPO_DIR` to find an external run checkout. The default points to `./run`, an ignored nested checkout inside this repository: ```bash git clone git@git.npc0.com:admin343/run.git run ``` If `RUN_REPO_DIR` is missing or does not contain a run `go.mod`, local debug scripts fail with a clear setup message. Local debug start/stop scripts treat pid files as hints, not the only source of truth. If a previous local debug process still owns the configured platform or web port after pid files are removed, the scripts identify it by cwd/log ownership under this repository and stop it before starting a new stack. ## Docker Compose The compose file keeps the run service for all-in-one local deployment, but its build context points at `${RUN_REPO_DIR:-./run}` and uses the external repository's `Dockerfile`. ## Structure Validation `scripts/check-structure.sh` validates browser-owned roots only. It no longer requires run source paths.