Skip to main content

Changelog

Even death stars have an exhaust vent.

Stability W2-01: a passive invariant-alarm monitor that names verified pathologies loudly in the runtime-health log instead of letting them loop silently.

Features

  • Invariant-alarm monitor (stability W2-01): watches the runtime-health event stream and raises named invariant_alarm records with a runbook string when a verified pathology signature trips , cloud_loop (idle cloud upload loop), scrape_zero_persist, preflight_kill, watchdog_thrash, and an auth_zombie heuristic

Fixes

  • Release-note validation relaxed for production carry-forward, feature consolidation, and support omissions

Follow-ups

  • Alarms are observation-only this build; their circuit breakers land next, one per soak cycle, so each alarm first observes its pathology as a positive control
Latest

Map controls, clipboard capture, and stronger sync diagnostics

Features

  • Map now has a lower-left time range slider with all-time, today, and last-week shortcuts.
  • Freed Desktop adds a clipboard save shortcut and moves activity monitoring into the top toolbar.
  • Installed sync soaks now produce structured runtime-health evidence with loop counters and window recovery records.

Fixes

  • Provider scrape recovery now records memory pressure, zero-post failures, and safe local next actions without adding provider traffic.
  • Instagram, Facebook, LinkedIn, and X diagnostics now separate local stalls from provider failures more clearly.
  • Map presets, graph pins, and content-detail saves now wait for durable state before reloads.
  • Production validation now catches real performance regressions and uses the pinned Node toolchain on runners.

Follow-ups

  • Capture release checks now use a shared provider-safety path list and require recorded owner approval before higher-risk capture changes publish.
  • Soak and automation state now lives under Freed automation storage with machine-readable verdicts.
  • Freed Desktop provider sync soaks now avoid duplicate traffic and record when LinkedIn returns zero posts.

Stability-instrumentation build: structured window-kill records, sync and worker loop counters, and daily runtime-health rotation to baseline the stability program's first overnight soak

Features

  • Structured window_destroyed kill records: every watchdog window teardown now logs a structured runtime-health record with the destruction reason (stability P0-02)
  • Loop counters for cloud uploads (including uploads with unchanged heads), relay broadcasts, Automerge worker INITs, and scrape outcomes (stability P0-03)
  • Daily runtime-health rotation replacing the 5 MiB halving cap, so long soaks keep a full evidence window (stability P0-04)

Fixes

  • Runtime-health rotation now compiles on Linux (libc scoped to all unix targets)
  • The CI perf regression gate now fails on real regressions instead of always passing
  • Runtime-health is mirrored into the active soak directory so rotation cannot shrink soak evidence
  • Bounded social loop diagnostics parsing
  • Map time presets refined; content details save in the background

Follow-ups

  • Soak collector and soak-assert scripts with a machine-readable verdict
  • scripts/doctor.mjs machine preflight for loops and worktree helpers
  • Automation loop state moved out of /tmp into ~/.freed/automation, with merge outcomes auto-recorded
  • Single-source provider-visible path list with publish-time enforcement (W1-06)
  • worktree-publish --ready closeout flag so finished PRs leave draft

Social scraping now has stronger memory recovery diagnostics, local loop locking, and zero-post failure reporting, with graph pin release validation stabilized

Features

  • Map time range slider

Fixes

  • Social scrape memory preflight now records recovery state and avoids treating stale local memory deferrals as durable provider failures
  • Facebook, Instagram, LinkedIn, and X scrape diagnostics now rank safe local next actions without increasing provider-visible traffic
  • Instagram zero-post failures now surface in the local optimization loop even when runtime diagnostics are sparse
  • Graph pin release validation now waits for Automerge persistence before reloading
  • Worktree creation now sources the shared Node tooling helpers before running its preflight
  • Release validation now removes a stale Azure CLI apt source before installing Playwright browser dependencies on GitHub-hosted Ubuntu runners

Social sync memory cleanup now runs after failed provider scrapes

Fixes

  • Run post-sync memory cleanup after Instagram placeholder-feed failures
  • Recover reclaimable WebKit memory tails after social scrapes before later providers stall
  • Report LinkedIn zero-event scrapes as IPC timeouts instead of successful empty feeds