mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-01 19:42:03 +00:00
R6/R7 blockers. An already-open Studio kept emitting server-side render telemetry after another process disabled CLI telemetry. refreshTelemetryPosture() only ran while serving a fresh SPA document and on /api/telemetry-identity, which Studio has no consumer for, so the render POST and its async outcome used the posture cached when the preview server booted. It now refreshes at the render boundary and again immediately before the completion/error event, so an opt-out during a long render is honoured. The identity tests were passing vacuously: their mocks omitted readConfigFresh and resetTelemetryPostureCache, and the resulting missing-export error was swallowed by the refresh's own catch. Mocked properly, plus the enabled -> external disable -> next response transition and the suppression path at the layer that drops the event. A full reset also did not persist its new lineage in a long-lived process: syncInstallState returned early on a process-lifetime memo even after ~/.hyperframes was deleted, so install-state was never recreated and the next config-only re-mint rolled a third seed instead of inheriting the second. The memo is now revalidated against the file. Also drops a stale reference to assertNoOverdueCanaries and stops the workflow and docs claiming the sunset job routes anything to the owner — it names them in the run log and notifies nobody. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
33 lines
1.1 KiB
YAML
33 lines
1.1 KiB
YAML
# Canary sunset governance.
|
|
#
|
|
# Deliberately NOT a PR gate. The check reads the current date, so as a PR gate
|
|
# it would fail builds for authors who touched nothing related, on a calendar
|
|
# date, with no fix available to them. On a schedule the failure stands on its
|
|
# own instead of blocking an unrelated author.
|
|
#
|
|
# The job names the overdue canary and its owner in the run log; it does not
|
|
# notify anyone. Routing that to the owner automatically (an issue, a ping)
|
|
# is worth doing and is not done here.
|
|
name: Canary sunset
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on:
|
|
schedule:
|
|
# Mondays at 15:10 UTC, shortly after the CodeQL run.
|
|
- cron: "10 15 * * 1"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
sunset:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
|
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
|
|
with:
|
|
bun-version: latest
|
|
# No install/build: the script imports the registry source directly and
|
|
# bun runs TypeScript natively.
|
|
- run: bun scripts/check-canary-sunset.ts
|