Skip to content

DevBerth v0.1.6

Choose a tag to compare

@github-actions github-actions released this 22 Jul 02:18
5b15efe

What changed

#25 — Optimize DevBerth CPU usage and responsiveness

Release summary

DevBerth now uses one adaptive, coalescing runtime monitor instead of fixed independent high-frequency loops. Semantic evidence, real AppKit foreground surfaces, bounded native process identity caching, and decoupled Docker/resource/health/log schedules eliminate timestamp-only UI invalidation and persistence churn while preserving immediate refresh after known mutations and wake.

Incorporated review shards

  • #19 — measured instrumentation and untouched CPU baseline
  • #20 — adaptive semantic monitoring and full-identity cache
  • #21 — bounded Docker, resource, health, log, and persistence work
  • #22 — secret-free internal Performance Diagnostics UI
  • #23 — performance regressions, benchmarks, isolation, and soak harnesses
  • #24 — macOS surface/UDP cadence fixes, activation publication, navigation refinement, final profiling, documentation, and saved handoff

Why

The untouched Release app used 69.2% average CPU with its windows closed. Time Profiler attributed 19.558 of 24.4 sampled CPU-seconds to retained SwiftUI graph invalidation, while timestamp-only listener updates continuously wrote and pruned SwiftData. Monitoring also launched at least 126 command children per minute before metadata work.

User and developer impact

  • closed-window CPU: 69.2% → 0.118% over matched 901-second samples (99.83% lower)
  • idle Time Profiler CPU: 24.4 → 0.027 CPU-seconds; main thread 19.558 → 0.001
  • main-window CPU: 49.5% → 2.62%; menu popover 0.10%
  • direct monitoring children: about 97% lower
  • deterministic unchanged snapshots: zero UI listener publications and zero lifecycle writes
  • bounded diagnostics and repeatable Release soak tooling are now available

Polling remains necessary on the macOS 14 baseline. Hidden stable evidence can be up to 30 seconds old; foreground navigation retains two measured 279–320 ms microhitches; and the pre-fix persistent-history backlog is preserved rather than destructively compacted.

Validation

  • exact local macOS test action: 210/210 passed, zero failures/skips/expected failures
  • two repeated performance/soak iterations passed
  • isolated 300-second Release soak: 0.11 CPU-seconds after warm-up over 293 seconds, steady RSS 132,992–165,568 KiB, bounded threads, zero children, zero error lines
  • PR CI green on every incorporated shard
  • /Applications/DevBerth.app and the installed devberth-mcp helper rebuilt from the same Release 0.1.0 (1) build

This is one source-release unit. It does not claim a signed, notarized, installable distribution artifact or automatic updater.

Release provenance

This is a source-project release. It does not include a signed or notarized app binary.