Jonas 4c9deda66a Implement labeling backend: FastAPI + SQLAlchemy data model and CRUD API
Add the core labeling data model (label sets, ad-hoc Main->Sub class
hierarchy, frames, bounding-box labels, per-frame/per-set label
status) behind a FastAPI app, with SQLite as the default swappable
DATABASE_URL. Multi-user support is attribution-only for now
(get-or-create by username, no login flow yet). Dataset
versioning/promotion is intentionally deferred - it needs its own
design pass around snapshot semantics.

Each test gets a fully isolated app+DB via create_app(database_url=...)
rather than relying on process-global state. 13/13 tests pass; also
verified live end-to-end against a running uvicorn instance.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-16 11:24:57 +02:00

SpelunkAI

A multi-stage AI system that learns to play Spelunky Classic HD: trained perception models, deterministic HUD-state classifiers, and a control agent that first imitates human play (behavior cloning) and later learns autonomously (reinforcement learning).

Full project spec, architecture, timing constraints, and roadmap live in CLAUDE.md — that document is the source of truth. This README is just a map of the repo.

Layout

Directory Component Spec section
recording/ Recording Tool — captures gameplay video + input log on the recording PC 3.1
labeling/ Web-Based Labeling Tool — backend + frontend for bounding-box labeling 3.2
training/ Per-set training pipeline for the anchor-free CNN detectors 3.3
inference/ Runtime inference loop — capture → detectors → HUD classifiers → state vector, within the 66ms/tick budget 3.4, 3.5
control/ Control Agent — behavior cloning now, RL later 3.6

Each component directory has its own README with more detail and its own .venv (per CLAUDE.md §6), since components run on different machines (recording PC vs. jai) and have independent dependencies.

Status

Repo scaffold only — no components are implemented yet.

Description
No description provided
Readme 105 KiB
Languages
Python 83.1%
JavaScript 12.7%
CSS 2.3%
HTML 1.9%