# Sofiia Console v1.0 — Technical Release Announcement

Sofiia Console v1 переходить у production-controlled стан: релізний процес відтворюваний, операційні перевірки формалізовані, ключові ризики закриті технічними контролями.

## 1) Scope of This Release

- Redis-backed idempotent send (multi-instance safe).
- Per-chat and per-operator rate limiting.
- Structured audit trail (write + query endpoint).
- Strict authentication for `/api/audit`.
- Cursor pagination hardening (tie-breaker safe).
- Structured JSON logging.
- `/metrics` endpoint for operational visibility.
- Audit retention (default 90 days) + pruning script.
- Preflight checks + release runbook + release evidence generator.

## 2) New Guarantees (What is now true)

### Reliability

- Duplicate `send` requests are safe across instances.
- Pagination remains stable even with identical timestamps.
- Multi-node routing is verified by E2E tests.

### Security

- `/api/audit` requires explicit API key (no localhost bypass).
- Rate limits are enforced both per chat and per operator.
- Operator actions are captured in structured audit trail.

### Operational Control

- Release process is reproducible via runbook and scripts.
- Preflight checks catch key misconfigurations before deploy.
- Audit DB growth is controlled through retention + pruning.

## 3) What Changes for Operators

- `/api/audit` now requires API key even on localhost.
- Excessive sends may return `429 rate_limited`.
- Audit trail is queryable for incident investigations.
- Retention pruning should be scheduled (cron recommended).

## 4) Known Limitations

- Chat index remains local (not Redis-backed yet).
- Rate-limit backend defaults to inmemory unless Redis is enabled.
- No automatic alerting dashboards yet (manual metric review required).
- Audit DB is SQLite (single-node storage model).

## 5) Release-Day Expectations (On-Call)

During first release window:

- Run preflight with strict mode:
  - `STRICT=1 bash ops/preflight_sofiia_console.sh`
- Execute full smoke:
  - health and metrics checks
  - Redis idempotency A/B smoke
- Verify:
  - audit write and read paths
  - rate-limit counters increment as expected
- Monitor first 5-10 minutes for:
  - 5xx error spikes
  - unexpected rate-limit spikes
  - replay spikes

Rollback procedure:
- `docs/runbook/release-runbook-sofiia-console.md`

> Sofiia Console v1 is production-controlled and operationally reproducible.
