---
name: lessokaji-downloads
description: Discover and download current MDCS modules as direct files from dl.lessokaji.com, with SHA-256 verification and separate Ref dependency handling.
---

# Lessokaji module downloads

Use this skill whenever a task needs an MDCS runtime, executable, plug-in, CycleGUI, or a compile-time `Ref*.dll` dependency.

## Runtime modules (direct files; no ZIP for agents)

1. Fetch `https://dl.lessokaji.com/api/v1/modules` with `Accept: application/json`.
2. Select the module by its stable `id` and read its `description`, `size`, `sha256`, and `downloadUrl`.
3. Download `downloadUrl` directly. Do not call the human ZIP endpoint.
4. Compute SHA-256 locally and reject the file if it differs from the catalog.

Example in PowerShell:

```powershell
$catalog = Invoke-RestMethod https://dl.lessokaji.com/api/v1/modules
$module = $catalog.modules | Where-Object id -eq 'Common/CycleGUI.dll'
Invoke-WebRequest $module.downloadUrl -OutFile $module.fileName
if ((Get-FileHash $module.fileName -Algorithm SHA256).Hash -ne $module.sha256) {
    throw 'SHA-256 mismatch'
}
```

## CycleGUI consumers

CycleGUI is a matched runtime, not a single interchangeable DLL. Fetch `https://dl.lessokaji.com/api/v1/modules/cyclegui/manifest.json`, download at least `CycleGUI.dll` and `libVRender.dll` from the URLs in that manifest, and verify both hashes. Keep the two files in the same runtime directory. Web consumers may also download the matching `webVRender.js` and `webVRender.wasm` listed by the manifest.

Simple repositories include `tools/check-cyclegui-release.ps1`; run it to compare a project dependency directory with the approved public manifest. Pass `-Update` only when the task explicitly authorizes replacing local binaries.

## Compile-time Ref dependencies

Do not take `Ref*.dll` files from this runtime catalog. Fetch the dedicated index and manifest instead:

- Human page: `https://mdcs.lessokaji.com/dependencies/`
- Machine manifest: `https://mdcs.lessokaji.com/dependencies/manifest.json`

Download the exact `url` from the dependency manifest and verify `sha256`. Ref assemblies are compile-time contracts and are not substitutes for runtime implementations.
