All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
MessageQueue: capped HTTP 429 retries, circuit breaker (CLOSED/OPEN/HALF_OPEN) with operator-visible trip logging, dead-letter logging on exhaustion, bounded queue with drop-oldest overflow,enqueue()bool backpressure signal, andhealth_fields()/depth()for/health(merged via_mq_health_fields()on/health). Thread-safe breaker state, safeRetry-Afterparsing, and redacted MQ logs.- Config:
mq_max_retries,mq_circuit_breaker_threshold,mq_circuit_breaker_cooldown_seconds,mq_max_size. - Discriminated ISO probe cycle outcomes (
CycleResult: success / empty / failed) with distinct logging and/healthfields (last_cycle_status,last_cycle_error). - Atomic
SchedulerSnapshotfor/healthscheduler extras (last_updated,poll_count, probe stats) published under a lock fromScheduler.health_snapshot(). - Post the same Slack status summary as the interactive command to
NOTIFICATION_CHANNELonce when the process starts (when that channel is configured). - Open-source hygiene: contributing guide, security policy, code of conduct, onboarding and handoff docs, pre-commit (Ruff), GitHub issue templates, Dependabot, CodeQL, CODEOWNERS template, and
.gitattributes.
- Documentation: deployment URLs (Slack Request URL behind nginx
/paperscout/), clone URL in server setup, staging-style placeholders. db-backup.yml: matrix parallel backups forstaging/productionusing environment-level SSH secrets; uploads undergs://insights-db-backups/paperscout/<environment>/with unique temp files and object keys (UTC timestamp +run_id+run_attempt+ environment);EXITtrap removes temp dump on failure.SERVER_SETUPrestore examples updated (--no-owner, listing/copy by object name).cd.yml: validateDEPLOY_PATH,DEPLOY_BRANCH, andHEALTH_PORTGitHub Environment variables before SSH so missingHEALTH_PORTfails with a clear error instead of curlinghttp://localhost:/health.
- Initial public release as tracked in
pyproject.toml(WG21 paper tracking, Slack integration, PostgreSQL storage, Docker deploy, CI/CD workflows).