Updates
Even death stars have an exhaust vent.
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.
Builds:v26.7.700
PRs:#746#793#795#796#797#799#801#804#806#809#810#811#812#818#819#820#823#826#829#830#831#832#836#840#841#842#843#844#845#846#847#848#849#850#851#852#854#855#856#857#858#859#860#861#862#863#864#865#866#867#868#869#870#871#872#873#874#875#876#877#878#879#880#881#882#883#884#885#886#887#888#889#890#891#892#893#894#895#897#899#903#904#905#906#908#909#910#911#912#913#914#918#921#923#925
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
Freed Desktop keeps locked installed sync soaks quiet and avoids waking WebKit while waiting for the workstation to unlock.
Fixes
- Destroy and rebuild the main WebView when idle WebKit memory is reclaimable but still resident.
- Recover visible main-renderer WebKit resident tails once they cross the high-memory threshold.
- Ignore stale age-matched WebKit process telemetry after a rebuild, which prevents repeated recovery loops and unnecessary background safe mode.
- Record post-recovery memory verification so failed WebKit reclaim can be diagnosed from the health log.
- Restart Freed Desktop when a renderer rebuild leaves the same main WebKit process above the high-memory line.
- Keep post-scrape reclaimable WebKit resident-tail cleanup below the high-memory threshold from rebuilding the main renderer, so Instagram and LinkedIn retries do not trip recovery backoff while memory is still under budget.
- Prevent the installed sync trigger helper from requeueing Instagram or LinkedIn during provider-safe cooldown windows.
- Stop the native trigger watcher from replaying a request when the renderer rebuild happens after the provider run already finished.
- Fail LinkedIn zero-post runs with local DOM diagnostics for candidate counts, activity URNs, login chrome, feed containers, and URL instead of treating them as successful empty syncs.
- Slow locked-machine terminal sync trigger retries to 10 minutes, with an explicit long-soak timeout override for unattended testing.
- Short-circuit locked-machine terminal sync triggers in native code before waking the main renderer, so locked soak retries do not inflate WebKit memory.