惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
Microsoft Azure Blog
Microsoft Azure Blog
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Vercel News
Vercel News
H
Help Net Security
Martin Fowler
Martin Fowler
美团技术团队
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
小众软件
小众软件
T
Tailwind CSS Blog
WordPress大学
WordPress大学

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
fix: centralize source reply delivery mode · openclaw/ope...
steipete · 2026-04-28 · via Recent Commits to openclaw:main

@@ -216,6 +216,10 @@ dispatch always shards full Matrix coverage into `transport`, `media`,

216216

runs the release-critical QA Lab lanes before release approval; its QA parity

217217

gate runs the candidate and baseline packs as parallel lane jobs, then downloads

218218

both artifacts into a small report job for the final parity comparison.

219+

Do not put the PR landing path behind `Parity gate` unless the change actually

220+

touches QA runtime, model-pack parity, or a surface the parity workflow owns.

221+

For normal channel, config, docs, or unit-test fixes, treat it as an optional

222+

signal and follow the scoped CI/check evidence instead.

219223220224

The `Duplicate PRs After Merge` workflow is a manual maintainer workflow for

221225

post-land duplicate cleanup. It defaults to dry-run and only closes explicitly

@@ -330,6 +334,25 @@ The separate `install-smoke` workflow reuses the same scope script through its o

330334

Current release Docker chunks are `core`, `package-update-openai`, `package-update-anthropic`, `package-update-core`, `plugins-runtime-plugins`, `plugins-runtime-services`, `plugins-runtime-install-a`, `plugins-runtime-install-b`, `plugins-runtime-install-c`, `plugins-runtime-install-d`, `bundled-channels-core`, `bundled-channels-update-a`, `bundled-channels-update-b`, and `bundled-channels-contracts`. The aggregate `bundled-channels` chunk remains available for manual one-shot reruns, and `plugins-runtime-core`, `plugins-runtime`, and `plugins-integrations` remain aggregate plugin/runtime aliases, but the release workflow uses the split chunks so channel smokes, update targets, plugin runtime checks, and bundled plugin install/uninstall sweeps can run in parallel. Targeted `docker_lanes` dispatches also split multiple selected lanes into parallel jobs after one shared package/image preparation step, and bundled-channel update lanes retry once for transient npm network failures.

331335332336

Local changed-lane logic lives in `scripts/changed-lanes.mjs` and is executed by `scripts/check-changed.mjs`. That local check gate is stricter about architecture boundaries than the broad CI platform scope: core production changes run core prod and core test typecheck plus core lint/guards, core test-only changes run only core test typecheck plus core lint, extension production changes run extension prod and extension test typecheck plus extension lint, and extension test-only changes run extension test typecheck plus extension lint. Public Plugin SDK or plugin-contract changes expand to extension typecheck because extensions depend on those core contracts, but Vitest extension sweeps are explicit test work. Release metadata-only version bumps run targeted version/config/root-dependency checks. Unknown root/config changes fail safe to all check lanes.

337+

Local changed-test routing lives in `scripts/test-projects.test-support.mjs` and

338+

is intentionally cheaper than `check:changed`: direct test edits run themselves,

339+

source edits prefer explicit mappings, then sibling tests and import-graph

340+

dependents. Shared group-room delivery config is one of the explicit mappings:

341+

changes to the group visible-reply config, source reply delivery mode, or the

342+

message-tool system prompt route through the core reply tests plus Discord and

343+

Slack delivery regressions so a shared default change fails before the first PR

344+

push. Use `OPENCLAW_TEST_CHANGED_BROAD=1 pnpm test:changed` only when the change

345+

is harness-wide enough that the cheap mapped set is not a trustworthy proxy.

346+347+

For Testbox validation, run from the repo root and prefer a fresh warmed box for

348+

broad proof. Before spending a slow gate on a box that was reused, expired, or

349+

just reported an unexpectedly large sync, run `pnpm testbox:sanity` inside the

350+

box first. The sanity check fails fast when required root files such as

351+

`pnpm-lock.yaml` disappeared or when `git status --short` shows at least 200

352+

tracked deletions. That usually means the remote sync state is not a trustworthy

353+

copy of the PR. Stop that box and warm a fresh one instead of debugging the

354+

product test failure. For intentional large deletion PRs, set

355+

`OPENCLAW_TESTBOX_ALLOW_MASS_DELETIONS=1` for that sanity run.

333356334357

Manual CI dispatches run `checks-node-compat-node22` as release-candidate compatibility coverage. Normal pull requests and `main` pushes skip that lane and keep the matrix focused on the Node 24 test/channel lanes.

335358