circuitforge-core/tests
pyr0ball 11e49067a8
Some checks failed
CI / test (push) Has been cancelled
Mirror / mirror (push) Has been cancelled
feat(sync): cross-device profile sync module (consent-gated, last-write-wins)
Add circuitforge_core.sync:
- SyncStore: SQLite-backed blob store with per-user, per-data-class consent gating.
  Push rejected if user hasn't opted in to that data class (SyncPref). Pull returns
  only consented classes. Last-write-wins by updated_at timestamp (equal ts
  does not regress existing data).
- SyncConfig: env-based config factory; reads CF_SYNC_* env vars namespaced per
  product (e.g. CF_SYNC_PEREGRINE_DB).
- make_sync_router(): returns a FastAPI APIRouter pre-wired with:
    GET  /status               — last sync timestamps per data class (any tier)
    GET  /prefs                — list consent settings (any tier)
    PATCH /prefs               — opt in/out of a data class (any tier)
    POST  /push                — upload blob (Paid+ only)
    GET   /pull                — download blobs (Paid+ only)
    DELETE /blob/{data_class}  — delete one blob (any tier)
    DELETE /wipe               — clear all blobs + prefs (any tier)
- 45 tests covering consent gating, last-write-wins, blob opacity, tier checks,
  and all HTTP endpoints.

Also: feedback.py bugbot token fallback (FORGEJO_BOT_TOKEN → FORGEJO_TOKEN);
pyproject.toml: add sync optional extra.
2026-06-14 12:55:05 -07:00
..
community feat(community): add SharedStore base class with typed pg read/write methods 2026-04-12 22:03:27 -07:00
sync feat(sync): cross-device profile sync module (consent-gated, last-write-wins) 2026-06-14 12:55:05 -07:00
test_activitypub feat: add activitypub module — actor, objects, signing, delivery, Lemmy, inbox (closes #51) 2026-04-20 13:18:03 -07:00
test_affiliates test: affiliates integration tests — full wrap_url round-trip 2026-04-04 18:28:27 -07:00
test_api fix: raise 502 on label creation failure; narrow subprocess exception scope 2026-04-05 17:36:52 -07:00
test_audio feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_config feat: add CF_LICENSE_KEY validation via Heimdall (closes #26) 2026-04-05 21:16:57 -07:00
test_documents test(documents): add OCR fallback and edge case tests for PDFExtractor 2026-05-04 08:45:53 -07:00
test_hardware feat: hardware detection, cf-docuvision service, documents ingestion pipeline 2026-04-02 18:53:25 -07:00
test_input fix(input/gestures): enforce numpy array immutability in HandLandmarks; add CameraCapture tests 2026-04-26 20:48:02 -07:00
test_job_quality feat: add job_quality deterministic trust scorer (closes #48) 2026-04-20 13:02:57 -07:00
test_manage feat: manage.py cross-platform product manager (closes #6) 2026-04-02 23:04:35 -07:00
test_musicgen feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_pipeline feat: v0.9.0 — cf-text, pipeline crystallization engine, multimodal pipeline, a11y preferences 2026-04-08 23:17:18 -07:00
test_reranker feat(reranker): full adapter suite + cf-orch auto-routing (closes #54) 2026-04-26 09:04:39 -07:00
test_tasks refactor: replace coordinator-aware TaskScheduler with Protocol + LocalScheduler (MIT); update LLMRouter import path 2026-04-04 22:26:06 -07:00
test_text feat(text): classifier backend + PII filter 2026-06-05 10:19:03 -07:00
test_vector fix(vector): explicit rollback, table identifier guard, query scope fix 2026-05-04 15:55:05 -07:00
test_video feat(video): add cf-video module — Marlin-2B FastAPI service + mock backend + tests 2026-05-25 20:00:37 -07:00
test_vision feat: cf-vision managed service (#43) 2026-04-09 06:53:43 -07:00
__init__.py feat: scaffold circuitforge-core package 2026-03-25 11:02:26 -07:00
test_db.py feat: audio module, musicgen tests, SQLCipher PRAGMA hardening 2026-04-20 11:10:49 -07:00
test_llm_router.py feat(llm): v0.20.0 — LLMRouter dict init + Ollama embed preflight (closes #59, #60) 2026-05-05 14:59:49 -07:00
test_memory.py feat(memory): persistent knowledge graph via mnemo sidecar 2026-06-05 10:19:11 -07:00
test_mqtt_router.py feat(mqtt): meshtastic mesh networking module 2026-06-05 10:19:19 -07:00
test_preferences.py feat: add currency_code preference + format_currency utility (closes #52) 2026-04-20 13:06:04 -07:00
test_stubs.py feat: add wizard and pipeline stubs 2026-03-25 11:09:40 -07:00
test_tiers.py feat: add generalised tier system with BYOK and local vision unlocks 2026-03-25 11:04:55 -07:00