Files
browser/openspec/changes/split-run-into-independent-repository/design.md
T

1.4 KiB

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:

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.