Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: StarlightDaemon/BIND

Tags

v2.2.0

Toggle v2.2.0's commit message
style: ruff format fixes for rss_server and test_rss_server

v2.1.0

Toggle v2.1.0's commit message
test: raise coverage gate to 75%; add storage and resilience test suites

T4 — Coverage threshold raised from 40% to 75%.

tests/test_storage_extended.py (27 tests, real SQLite via tmp_path):
- Schema: magnets + scrape_runs tables present after init
- add_magnet: insert, count, idempotency on duplicate hash
- has_hash: true/false/case-insensitive
- recent(limit=N): count and ordering
- search(): FTS match, empty-string returns all
- stats(): today, last_7_days, last_30_days keys
- record_scrape_run: row inserted, values correct
- WAL probe: succeeds on local path

tests/test_resilience_extended.py:
- retry.py: _parse_retry_after valid/invalid/absent header; 429 uses header wait
- migrate.py: _parse_line valid/invalid; migrate() no-files, single file,
  deduplication, wrong filename, multi-file
- security.py: log_security_event write path and OSError suppression;
  _rotate_log_if_needed trim; _migrate_credentials v1→v2; get_base_dir branch

Result: 273 tests passing, 77% coverage. mypy clean. ruff clean.

v2.0.0

Toggle v2.0.0's commit message
feat: BIND v2.0.0 — metrics dashboard, domain resilience probe, CI ha…

…rdening

T1 — CI: add pip-audit step for dev dependencies (catches CVEs in test toolchain)

T2 — Domain resilience: BindScraper.probe_target() classifies target health as
reachable / cloudflare_block / wrong_content / unreachable without touching the
circuit breaker. Daemon logs WARNING at startup for unreachable or wrong_content.
/health endpoint includes cached target_probe field (5-minute TTL).

T3 — Metrics dashboard: scrape_runs table added to MagnetStore schema;
record_scrape_run() called by daemon after every cycle; stats() extended with
last_7_days and last_30_days counts; /metrics route added (auth-gated) with
Vesper-theme HTML template showing counts, color-coded scrape history, and
success rate; nav link added to all five templates.

Tests: 223 passing (test_scraper_probe.py × 7, test_metrics.py × 18).
mypy clean. ruff clean.

v2-completion prompts archived to .raiden/local/prompts/v2-completion/.

v1.7.1

Toggle v1.7.1's commit message
ci: retrigger Docker publish

v1.7.0

Toggle v1.7.0's commit message
fix: add generic type params to satisfy mypy — dict[str, Any], tuple[…

…...]

v1.6.1

Toggle v1.6.1's commit message
fix: add generic type params to satisfy mypy — dict[str, Any], tuple[…

…...]

v1.6.0

Toggle v1.6.0's commit message
fix: add generic type params to satisfy mypy — dict[str, Any], tuple[…

…...]

v1.4.0

Toggle v1.4.0's commit message
fix: add generic type params to satisfy mypy — dict[str, Any], tuple[…

…...]

v1.5.0

Toggle v1.5.0's commit message
fix: add job timeout wrapper, remove stale scraper.metrics call

- Wrap job() in ThreadPoolExecutor (max_workers=1) with BIND_JOB_TIMEOUT
  env var (default 3600s); scheduler loop no longer blocks on hung jobs
- Remove scraper.metrics.report() — BindScraper.metrics removed in EgressManager
  refactor; would have raised AttributeError on every job completion

v1.3.0

Toggle v1.3.0's commit message
v1.3.0 — security hardening + retry engine