Peter Steinberger
c0fdf9923b
perf(agents): keep model resolution caches warm
2026-04-28 02:38:31 +01:00
Jochen Roessner
e9be25b554
perf: cache model resolution to avoid repeated plugin-provider loads
...
On ARM64 devices (e.g. Raspberry Pi 4), resolvePluginProviders takes ~20s
on first call. Three bugs cause this cost to be paid repeatedly:
1. ensureOpenClawModelsJson readyCache fingerprint includes models.json
mtime. After a write, the stored fingerprint (pre-write mtime) never
matches again, forcing every caller to re-run planOpenClawModelsJson.
2. readyCache has one entry per file path. Agents with different configs
(e.g. main agent vs active-memory subagent) overwrite each other's
entry, so neither benefits from caching.
3. resolveExplicitModelWithRegistry calls shouldSuppressBuiltInModel →
resolveProviderPluginsForCatalogHooks on every agent run. The internal
cache key includes the full config, so callers with slightly different
configs each pay the full provider-load cost.
Fixes:
- Remove modelsFileMtimeMs from fingerprint (bug 1)
- Add noopCache to MODELS_JSON_STATE keyed by (path, mtime) — a noop
result is config-agnostic, so any caller can reuse it (bug 2)
- Cache resolveExplicitModelWithRegistry by (provider, modelId, agentDir),
stable for the lifetime of a gateway session (bug 3)
Measured on Raspberry Pi 4 (ARM64):
active-memory subagent preprocessing: 66-75s → ~3s (warm)
active-memory total elapsed: ~96s → ~14s (warm)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-28 02:38:31 +01:00
Peter Steinberger
a0c850d188
test: stabilize gateway restart loop signals
2026-04-28 02:37:24 +01:00
Peter Steinberger
3efb444002
fix(discord): skip disabled reaction fetches
2026-04-28 02:36:48 +01:00
Peter Steinberger
7d4da9c610
fix(plugins): ignore inherited npm dry-run for runtime deps
2026-04-28 02:36:48 +01:00
Peter Steinberger
13ff3142bd
fix(agents): classify terminal results for fallback
2026-04-28 02:35:51 +01:00
Peter Steinberger
82ca94fdd7
test: curate google live profile signal
2026-04-28 02:32:44 +01:00
Peter Steinberger
43a73d6a31
refactor: separate bundled channel schema surface
2026-04-28 02:31:21 +01:00
Peter Steinberger
1cea04ba0f
fix(ci): mock gateway run path helpers
2026-04-28 02:30:39 +01:00
Peter Steinberger
de76ad506c
test: stabilize release live e2e lanes
2026-04-28 02:30:36 +01:00
Shakker
d9411f9dc1
perf: reuse startup plugin manifests
2026-04-28 02:29:08 +01:00
Shakker
2aacc4053b
refactor: accept supplied plugin manifest registry
2026-04-28 02:29:08 +01:00
Peter Steinberger
8db21cdcde
chore: update app Swift package releases
2026-04-28 02:28:05 +01:00
Peter Steinberger
e651809084
perf: slim gateway startup imports
2026-04-28 02:26:27 +01:00
Peter Steinberger
b6a90188e7
test: trim hot test runtime imports
2026-04-28 02:25:55 +01:00
Peter Steinberger
fe15268e5f
fix: degrade plugin-local reload invalidity
2026-04-28 02:25:00 +01:00
Peter Steinberger
06a80fa813
fix(ci): use managed temp dir in channel contracts
2026-04-28 02:20:01 +01:00
Peter Steinberger
b891dbb133
test: curate openrouter live profile signal
2026-04-28 02:17:48 +01:00
Peter Steinberger
837c4c5f1b
fix: respect external channel owners in doctor blockers
2026-04-28 02:15:43 +01:00
Peter Steinberger
6a338ba67d
test(cli): align run-main primary registration expectations
2026-04-28 02:14:27 +01:00
Peter Steinberger
d35ada2f54
refactor: relocate channel contract helpers
2026-04-28 02:14:08 +01:00
Peter Steinberger
a66605bf23
fix(cron): skip isolated runs when local providers are down
2026-04-28 02:12:19 +01:00
Peter Steinberger
4e63f710f1
fix(ci): restore plugin install and tooling checks
2026-04-28 02:09:28 +01:00
Peter Steinberger
7c79f0ac9c
fix(telegram): centralize update offset tracking
2026-04-28 02:08:22 +01:00
Peter Steinberger
955f0a692a
perf: fast-path gateway foreground startup
2026-04-28 02:07:01 +01:00
Peter Steinberger
6b7886e024
test: refresh memory install config fixture
2026-04-28 02:04:24 +01:00
Peter Steinberger
dc4512ad0c
refactor: split channel target test helpers
2026-04-28 02:03:15 +01:00
Peter Steinberger
6c859d8c82
fix(memory-lancedb): use neutral memory host import
2026-04-28 01:59:41 +01:00
Peter Steinberger
53906fd177
test: update run-main env mock
2026-04-28 01:59:25 +01:00
Peter Steinberger
a9bd8bb9b4
fix(gateway): surface clean channel exits
2026-04-28 01:59:10 +01:00
Peter Steinberger
53d213f9cc
perf: lazy load hot test imports
2026-04-28 01:57:22 +01:00
Peter Steinberger
f5a48efac5
fix(status): report custom memory plugin status
2026-04-28 01:51:37 +01:00
Peter Steinberger
37ea03dbac
fix(memory-lancedb): use scoped config runtime import
2026-04-28 01:50:09 +01:00
Peter Steinberger
75e126ef6a
perf: improve gateway startup diagnostics
2026-04-28 01:48:00 +01:00
Peter Steinberger
13d3777cf3
fix(plugins): keep config schema on manifest metadata
2026-04-28 01:47:16 +01:00
Peter Steinberger
45a84b5f95
refactor: expose channel contract test helpers
2026-04-28 01:45:58 +01:00
Peter Steinberger
8d9a2f82a4
fix(gateway): keep bundled channel startup light
2026-04-28 01:44:40 +01:00
Peter Steinberger
983fd775e2
fix(memory-core): stream embedding cache seed during reindex
...
- stream safe-reindex embedding-cache seeding with SQLite iterate()
- avoid no-op empty-cache transactions and keep regression coverage explicit
- supersedes #73067
Thanks @parkertoddbrooks.
2026-04-28 01:44:03 +01:00
Peter Steinberger
2057713af5
fix(memory): let lancedb use provider embedding auth
2026-04-28 01:42:43 +01:00
Peter Steinberger
b294f7c467
fix: harden ios app build hygiene
2026-04-28 01:42:10 +01:00
Peter Steinberger
2fe213ebf2
perf: avoid global config loads in approval tests
2026-04-28 01:41:16 +01:00
Peter Steinberger
4cc42a1d69
fix: reuse plugin metadata for config schemas
2026-04-28 01:37:38 +01:00
Vincent Koc
d93e6f6158
fix(feishu): repair WebSocket reconnect and heartbeat config ( #72411 )
2026-04-27 17:32:36 -07:00
Peter Steinberger
fdd2ff02c6
ci: stabilize release validation lanes
2026-04-28 01:31:00 +01:00
Peter Steinberger
6ebe3087fc
test: narrow live gateway profile signal
2026-04-28 01:30:59 +01:00
TinyClaw
fb5b46ae48
fix(bonjour): suppress ciao crash when networkInterfaces() is denied
...
Classify ciao interface-enumeration SystemErrors from restricted sandboxes and suppress mDNS advertising instead of letting the Gateway crash.
2026-04-27 17:30:43 -07:00
Peter Steinberger
c72f8f357b
fix: harden mac app computer use docs
2026-04-28 01:25:31 +01:00
Peter Steinberger
864c4f7ff4
fix(memory-core): bound fallback vector chunk scoring
...
- stream fallback Memory Core vector scoring with SQLite iterate() and a bounded top-K result set
- add regression coverage and live-main lint/boundary helper repairs
- supersedes #73069
Thanks @parkertoddbrooks.
2026-04-28 01:23:40 +01:00
Peter Steinberger
56875c4d32
refactor: split generic plugin test fixtures
2026-04-28 01:21:39 +01:00
Peter Steinberger
e508d81f79
perf: avoid registry loads in hot tests
2026-04-28 01:20:47 +01:00