DevBerth v0.1.6
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
- Merge commit:
5b15efeaf128632821f60c01ff52959830f8566d - Pull request: #25
- Compare v0.1.5...v0.1.6
This is a source-project release. It does not include a signed or notarized app binary.