velxio/backend/app/api/routes
David Montero 2ee443470d feat(P2.1f): scope AVR/RP2040/ATtiny library reads to the content-addressed cache
arduino-cli compiles now read libraries from a per-compile --libraries dir of
symlinks materialized by the pro overlay (owner store -> cache -> legacy), via
the existing materialize_library_scope hook, instead of scanning the shared
mutable global volume. --libraries only overrides the USER library search path,
so cores + board-manager URLs (RP2040 earlephilhower, ATTinyCore) are untouched.

Mirrors the ESP-IDF P2.1e graceful fallback: an incomplete manifest (a needed or
transitive lib not declared) makes the scoped compile miss a header; we retry
ONCE scan-all (no --libraries) and surface manifest_incomplete, so a partial
manifest degrades to legacy behavior instead of hard-failing.

Dedup correctness: the manifest + owner are resolved ONCE (shared
_resolve_compile_scope) and folded into the /compile/start dedup key AND threaded
into the build, so two owners with identical sketch+board but different custom
libs never coalesce to one another's job, and the key never diverges from the
bytes the build uses. Owner folded only when a manifest applies (index-only
compiles keep cross-owner dedup).
2026-06-07 23:12:24 +02:00
..
__init__.py
compile.py feat(P2.1f): scope AVR/RP2040/ATtiny library reads to the content-addressed cache 2026-06-07 23:12:24 +02:00
compile_chip.py
compile_rom.py feat(chips): C-to-Z80 compile via SDCC + LED chaser example 2026-05-19 00:31:10 -03:00
flash.py feat(flash): write compiled sketches to real USB boards (phases D1+D3) 2026-05-27 00:20:20 -03:00
iot_gateway.py feat(hooks): iot_gateway_gate extension point + content-negotiated 402 2026-05-29 19:44:30 +02:00
libraries.py feat(P2.1): install index libraries by WARMING the shared cache (not the global dir) 2026-06-07 22:33:05 +02:00
simulation.py feat: STM32 (Blue Pill / Black Pill) QEMU emulation + Pro board gating 2026-05-30 19:06:14 -03:00