Assorted Artificial Intelligence Labs umbrella app.
This repository hosts the AIX hub and bridge adapters. Lab implementations stay in their own repositories and are mounted by interface.
rpsremains independent and is mounted under/rps.drlremains independent as a sister app; AIX links to it through/drl/.c4remains independent and is mounted under/c4.clueremains independent and is reached under/clue.doubledigitsremains independent and is mounted under/doubledigits.euclidyneremains independent and is mounted under/euclidyne.polyfoldslives in the siblingpfrepo and is routed under/polyfolds.- Large generated datasets are not tracked in this repo by default.
- Local development lazy-loads lab apps on first request to their mount path.
- Cloud AIX treats separately deployed lab services as App Engine-dispatched services, so the hub links to the same path prefixes without importing those sibling repos into the default service process.
- Create/activate one shared venv for AIX + labs.
- Install union dependencies:
pip install -r requirements.txtFor tests/dev tooling:
pip install -r requirements-dev.txtIf polyhedra fails with ModuleNotFoundError: No module named 'numpy',
install with build isolation disabled after preinstalling core build deps:
python -m pip install -U pip setuptools wheel
python -m pip install numpy
python -m pip install polyhedra --no-build-isolation- Optional explicit bridge paths (only needed if sibling defaults are not used):
$env:AIX_RPS_REPO = "C:\\path\\to\\rps"
$env:AIX_C4_REPO = "C:\\path\\to\\c4"
$env:AIX_CLUE_REPO = "C:\\path\\to\\clue"
$env:AIX_DOUBLEDIGITS_REPO = "C:\\path\\to\\dd"
$env:AIX_EUCLIDYNE_REPO = "C:\\path\\to\\geometry\\euclidyne"
$env:AIX_POLYFOLDS_REPO = "C:\\path\\to\\pf\\polyfolds"
$env:AIX_POLYFOLDS_JOBS_ROOT = "C:\\path\\to\\aix\\data\\polyfolds_jobs"- Run AIX:
python run.pyThen open http://127.0.0.1:5000/.
Useful diagnostics endpoints:
/diagnostics/healthzfor mount/dispatch status + runtime warnings./healthzremains as a local/dev compatibility alias, but public App Engine checks should use/diagnostics/healthz./diagnostics/bridgesfor non-secret bridge/config hints.
Legacy RPS absolute API calls are bridged at /api/v1/* for compatibility.
Legacy /euclidorithm/* links are redirected to /euclidyne/* during the transition.
Cloud service note:
- On App Engine, the default AIX service owns the hub, diagnostics, DRL portal,
and compatibility redirects. Separately deployed lab services such as Clue
own their own persistence settings and are routed through
dispatch.yaml. AIX_DISPATCH_SERVICE_LABScan override the default cloud-dispatched lab list for a rollback or diagnostic run.- Direct database URLs and Cloud Storage snapshots remain supported by sibling lab repos, but AIX no longer carries Clue persistence configuration.
Run the shared deploy helper from the AIX repo root after your usual gc.bat
setup:
scripts\deployThis wraps scripts\aix_cloud_deploy.bat, previews which AIX-managed services
are in scope, and then deploys the AIX default service plus dispatch rules.
App Engine uploads the current local filesystem contents, so uncommitted edits
inside an included repo are part of what goes live.
Clue is intentionally excluded from the AIX deploy scripts. Deploy Clue from the sibling Clue repo with:
..\clue\deploy_clue.batThat Clue deploy helper owns its App Engine manifest selection and upload hygiene checks.
Mounted under /polyfolds:
GET /polyfolds/api/v1/presetsPOST /polyfolds/api/v1/jobsGET /polyfolds/api/v1/jobsGET /polyfolds/api/v1/jobs/{job_id}
Example submit payload:
{
"kind": "dataset",
"solid": "tetra",
"params": {
"quick": true,
"n_valid": 200,
"n_incomplete": 200,
"n_invalid": 200,
"seed": 2025
}
}