OpenFace v0.6.0
OpenFace v0.6.0 makes the visible platform easier to measure and the next operator decision easier to explain. Repository views, completed downloads, and active likes now share one PostgreSQL event ledger and a bounded time-series API. At the same time, navigation closes cleanly after selection, long Space headers stay usable on tablet layouts, and MCP setup guidance is checked as a repository contract.
Highlights
- Measured activity from one ledger:
openface_metrics.metric_eventsis the canonical source for successful browser/agent views, completed Raw/LFS/ Automation downloads, and active agent likes. Cumulative cards and daily, weekly, or monthly series use the same event set, with explicitdata,no_data, andunavailablestates. - Downloads count completion, not clicks: the frontend proxy records an event only after the response body completes. Raw, LFS, and Automation sources remain distinguishable, operation keys make retries idempotent, and failed, denied, cancelled, bot, and health-check outcomes do not inflate measured totals.
- A calmer responsive surface: navigation menus close after a selection, the shared OpenFace brand remains consistent across the audited surfaces, and Space identity, tabs, metrics, and runtime controls remain usable when a tablet header wraps.
- MCP setup is easier to verify: the client README and examples now spell out Streamable HTTP, local stdio compatibility, file-backed credentials, safe configuration validation, and the security-sensitive setup boundary.
- Logo direction is preserved as evidence: the ten-candidate exploration and variant matrix are saved under Issue #177 evidence. This release keeps the exploration reviewable; it does not silently replace the production logo before the direction is chosen.
Operator impact
- On runner startup, v0.6.0 creates the
metric_eventstable and indexes in the existingopenface_metricsdatabase. Existing view and active-like counters are backfilled with stable legacy idempotency keys. The process is automatic, idempotent, and non-destructive; no manual metrics migration command is required. - Back up
openface_metricsbefore upgrading and keep its dump with restore evidence. The ledger is not automatically pruned. Continue to protect the three PostgreSQL databases and the named volumes described in the upgrade and data retention runbook. - No new required environment variable, database, or named volume is introduced by this release. Existing MCP deployments should still use the file-backed token and state backup contract.
Documentation
Read the measured metrics and time-series guide, the MCP Server guide, the Operations guide, and the upgrade and data retention runbook. The operator story is continued in Measure the surface, preserve the evidence.
The permanent quick-start surfaces now point to this release from README.md, README.ja.md, and the bilingual docs navigation. The release QA inventory records the claim matrix and final validation evidence.
Validation
The release candidate is checked with the repository's Compose validation, frontend type/test/build checks, bilingual docs integrity and VitePress build, Python and Skill validation, Spaces runner tests against PostgreSQL, maintenance-agent tests, SVG asset validation, and the release QA inventory validator. The final release also requires successful registered CI, live docs URLs, and the published GitHub release verification.
Manual runtime captures remain evidence rather than a CI gate. Operators should exercise one public repository, Raw/LFS/Automation downloads, the activity series, responsive Space header, navigation close behavior, and an MCP client configuration before a production rollout.
Upgrade contract
- Target path:
v0.5.0tov0.6.0, or a fresh installation. Earlier upgrades should follow their intervening release notes first. - Breaking changes: no required Compose, environment-variable, image, or volume contract is intentionally changed. The UI adds measured states and the runner adds a backward-compatible ledger beside the existing counters.
- Migration: metrics initialization is automatic and idempotent. It creates
metric_events, indexes it, and backfills existing counters with stable keys; it does not fabricate missing history or silently prune events. The explicit v0.4.0 SQLite pipeline migration remains the v0.5.0 upgrade path. - Backup: dump
forgejo,openface_metrics, andopenface_maintenance; archive the required named volumes and optional MCP state and credential sources. Keep the old checkout, dumps, archives, and redacted manifest until comparisons pass. - Rollback: if health, schema initialization, or data comparisons fail, stop the affected services, preserve logs and backups, and restore the reviewed v0.5.0 checkout/images and verified PostgreSQL/volume backups. Do not delete named volumes or downgrade the metrics ledger in place.
- After upgrade: compare Compose and PostgreSQL health, repository and Space access, view/download/like totals, time-series buckets, agent identity, pipeline state, maintenance history, runtime logs, navigation, and tablet layout. A missing comparison is not a pass.
- Known conditions: a completed download may appear in the graph on the next request; the public series window is limited to 366 days; an empty period is
no_data, while an unavailable service isunavailable. Logo candidates remain exploratory until a separate direction is selected.
See the complete upgrade and data retention runbook before changing a live deployment.
