Shared scaffold for CircuitForge products
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). |
||
|---|---|---|
| circuitforge_core | ||
| tests | ||
| .gitignore | ||
| pyproject.toml | ||
| README.md | ||
circuitforge-core
Shared scaffold for CircuitForge products.
Modules
circuitforge_core.db— SQLite connection factory and migration runnercircuitforge_core.llm— LLM router with fallback chaincircuitforge_core.tiers— Tier system with BYOK and local vision unlockscircuitforge_core.config— Env validation and .env loadercircuitforge_core.vision— Vision router stub (v0.2+)circuitforge_core.wizard— First-run wizard base class stubcircuitforge_core.pipeline— Staging queue stub (v0.2+)
Install
pip install -e .
License
BSL 1.1 — see LICENSE