circuitforge-core/circuitforge_core
pyr0ball aa51794f45 fix(scheduler): join batch worker threads in shutdown()
Previously shutdown() only joined the scheduler loop thread. Batch
worker threads (which decrement _reserved_vram in their finally block)
could still be running when shutdown returned, leaving stale VRAM
accounting. Now snapshots active workers under lock and joins them all.

Snapshot-then-join pattern avoids holding the lock across blocking join
calls (which would deadlock since workers acquire the same lock on exit).
2026-04-01 11:21:30 -07:00
..
config feat: add config module and vision router stub 2026-03-25 11:08:03 -07:00
db fix(core): SQLite timeout=30, INSERT OR IGNORE migrations, parameterize tier unlockables 2026-03-31 10:37:51 -07:00
llm feat: add LLM router (extracted from Peregrine) 2026-03-25 11:06:29 -07:00
pipeline feat: add wizard and pipeline stubs 2026-03-25 11:09:40 -07:00
resources feat(orch): agent self-registration and coordinator heartbeat loop 2026-03-31 19:20:35 -07:00
tasks fix(scheduler): join batch worker threads in shutdown() 2026-04-01 11:21:30 -07:00
tiers fix(core): SQLite timeout=30, INSERT OR IGNORE migrations, parameterize tier unlockables 2026-03-31 10:37:51 -07:00
vision feat: add config module and vision router stub 2026-03-25 11:08:03 -07:00
wizard feat: add wizard and pipeline stubs 2026-03-25 11:09:40 -07:00
__init__.py feat: scaffold circuitforge-core package 2026-03-25 11:02:26 -07:00