# Labyricorn Website Engine Control Plane A React control plane and Express backend for discovering Git-hosted Markdown, validating canonical site configuration, and producing deterministic static website releases. ## Engine capabilities The build engine now: - validates routes, route collisions, content state, raw-HTML policy, and media references; - renders published content and navigation indexes into static HTML; - escapes source HTML and renders a safe CommonMark-style subset; - emits deterministic `build-manifest.json` and `checksums.json` files; - calculates an artifact checksum from generated file checksums; - writes releases atomically beneath the configured build root; - activates releases through an atomic `current` symlink/junction; - survives process restarts without reusing existing build numbers; and - serves the active generated release through the live-preview endpoint. ## Development Requires Node.js 22 or later. ```bash npm install npm test npm run lint npm run dev ``` Create a production bundle with: ```bash npm run build npm start ``` The control plane listens on port `3000`. ## Build artifacts By default, releases are written to the platform temporary directory under `labyricorn-builds/`. Set `LABYRICORN_BUILD_ROOT` to use a persistent release directory in production. Each successful release contains: - generated route directories with `index.html`; - `404.html`; - `build-manifest.json`; and - `checksums.json`. Validation failures produce a failed build record but never publish a partial release directory. ## Current boundaries - The built-in renderer is used until repository-provided theme templates are implemented. - Git source synchronization supports HTTP(S), SSH-style Git URLs, and local paths; other source types remain unavailable. - Remote rsync deployment is still represented by the existing control-plane simulation and must not be treated as a completed production deploy path.