$ the-wire · showcase
Catalog refreshes stop hiding failures; APFS checkpoints survive live logs
By RepoJournal · Filed · About OpenClaw
Model catalog refreshes now report and preserve discovery failures instead of silently replacing learned models, while OCM gains automated checked releases after main merges.
Model catalog discovery for Google, GitHub Copilot, DeepInfra, and NVIDIA now reports failures instead of masking them or replacing learned models with bundled rows or empties [1][2]. Refresh failures previously could overwrite learned models or report success on failure; both plugins now route outcomes through the shared catalog owner, preserving learned catalogs and bundled fallbacks as appropriate.
OCM will now automatically cut checked releases after main merges, so a landed fix no longer lingers unavailable to `ocm self update` [3][4]. The automation reconciles after CI/Release completion, hourly, and on manual dispatch; creates one version-only release PR via exact-main and PR CI, then waits for exact post-merge CI before signing and dispatching the existing release pipeline. It remains disabled until a dedicated release identity is configured [3].
APFS checkpoint verification now tolerates independently managed OpenClaw nodes that keep appending service logs during a Gateway upgrade [5][6]. Previously, checkpoint validation rejected the captured node stderr with `does not exactly match changed source` [5]; validation compares captured bytes against an identity-pinned stable clone prefix while preserving strict state/SQLite checks and full-copy behavior [6].
Docs CI and tooling hardened against hangs and corrupt state. GitHub workflows that lacked `timeout-minutes` now set them (15 for short jobs, 30 for CodeQL) [7], and Cloudflare and signed R2 fetches now carry `AbortSignal.timeout` with a default budget of 30000ms [8]. `getRemoteManifest()` now requires `entries` to be an array before stamping `status: "hit"`, preventing empty remote manifests from being treated as cache hits and later rewriting the remote catalog [9]. i18n publication skips when source metadata is unreadable [10]. The dependency refresh fixes recheck caller cancellation after the OpenAI SSE iterator ends [11]. Test maintenance consolidates five duplicate child-close waiters into the shared helper [12].
Action items
- → Review the new OCM release automation configuration and enable a dedicated release identity when ready openclaw/ocm [plan]
- → Verify model catalog refresh behavior for Google/Copilot/DeepInfra/NVIDIA after upgrading openclaw/openclaw [plan]
- → Pull docs fixes for workflow and fetch timeouts to avoid hung runners openclaw/docs [plan]
References
- [1] fix(models): report Google and Copilot catalog failures (#139791) ↗ openclaw/openclaw
- [2] fix(models): preserve DeepInfra and NVIDIA catalogs on discovery failure (#139749) ↗ openclaw/openclaw
- [3] feat: automate checked OCM releases after main merges (#153) ↗ openclaw/ocm
- [4] feat: automate checked OCM releases after main merges ↗ openclaw/ocm
- [5] fix: verify captured service log prefixes in APFS checkpoints ↗ openclaw/ocm
- [6] fix: verify captured service log prefixes in APFS checkpoints (#152) ↗ openclaw/ocm
- [7] fix: add timeout-minutes to remaining workflows ↗ openclaw/docs
- [8] fix: abort stalled signed R2 fetches ↗ openclaw/docs
- [9] fix(r2): reject empty remote manifests before scoped upload ↗ openclaw/docs
- [10] fix(i18n): skip publication against unreadable source metadata ↗ openclaw/docs
- [11] chore(deps): refresh seven-day-cooled dependencies (#138199) ↗ openclaw/openclaw
- [12] refactor(test): reuse shared child close waits ↗ openclaw/openclaw