First release of LUCID, a glass-box, safety-shielded, self-contained agent for the ARC-AGI-3 interactive reasoning benchmark.
client.py: robust ARC-AGI-3 API client (X-API-Key, cookie session-affinity, retry/backoff), with a typedFrame(64×64 grid, state, levels, available actions).perception.py: object-centric segmentation, online HUD (action-counter) removal, exact hashable state signatures, controllable-object displacement.agent.py: the LUCID policy cascade: safety shield → exploit → goal-seek (BFS over the learned movement model) → curiosity (count-based novelty), with an interpretable learned dynamics model and a full per-step decision trace.search.py: LUCID-S, a systematic state-graph search variant (exhaustive, undo/reset-backtracking, safety-shielded) for shallow levels.baselines.py: the random reference baseline.runner.py: evaluation runner with per-level action accounting for RHAE.scripts/compute_scores.py: RHAE scoring per the official methodology.scripts/make_figures.py,scripts/paper_numbers.py: figures + paper numbers.experiments/: live exploration + full evaluation drivers.- Offline unit tests for perception and the policy; quickstart demo; the paper.
- The API key is read from
ARC_API_KEY/.envand is never committed.
- LUCID completes 2 levels (VC33, LP85) for a public-set RHAE of 0.083%
(server) / 0.05% (my recomputation); random completes 1 level at 0.095%;
frontier models <1% (best 0.37%). LUCID does not beat the frontier or random,
reported honestly. The contribution is the transparent, safe, self-contained
method and its honest evaluation, not a leaderboard number. Every figure and
number regenerates from
results/via thescripts/.