28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
# 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.
|