Skip to content

Commit 2d09476

Browse files
authored
Merge branch 'main' into fix/sessions-send-prefer-session-key
2 parents c19b45e + d9411f9 commit 2d09476

1,763 files changed

Lines changed: 61704 additions & 12145 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/gitcrawl/SKILL.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
name: gitcrawl
3+
description: Use gitcrawl for OpenClaw issue and PR archive search, duplicate discovery, related-thread clustering, and local GitHub mirror freshness checks.
4+
metadata:
5+
openclaw:
6+
requires:
7+
bins:
8+
- gitcrawl
9+
---
10+
11+
# Gitcrawl
12+
13+
Use this skill before live GitHub search when triaging OpenClaw issues or PRs.
14+
15+
`gitcrawl` is the local candidate-discovery layer. It is fast, includes open and closed threads, and can surface duplicate attempts, related issues, and already-landed fixes. It is not the final source of truth for comments, labels, merges, closes, or current CI.
16+
17+
## Default Flow
18+
19+
1. Check local state:
20+
21+
```bash
22+
gitcrawl doctor --json
23+
```
24+
25+
2. Read the target from the local archive:
26+
27+
```bash
28+
gitcrawl threads openclaw/openclaw --numbers <issue-or-pr-number> --include-closed --json
29+
```
30+
31+
3. Find related candidates:
32+
33+
```bash
34+
gitcrawl neighbors openclaw/openclaw --number <issue-or-pr-number> --limit 12 --json
35+
gitcrawl search openclaw/openclaw --query "<scope or title keywords>" --mode hybrid --limit 20 --json
36+
```
37+
38+
4. Inspect relevant clusters:
39+
40+
```bash
41+
gitcrawl cluster-detail openclaw/openclaw --id <cluster-id> --member-limit 20 --body-chars 280 --json
42+
```
43+
44+
5. Verify anything actionable with live GitHub and the checkout:
45+
46+
```bash
47+
gh pr view <number> --json number,title,state,mergedAt,body,files,comments,reviews,statusCheckRollup
48+
gh issue view <number> --json number,title,state,body,comments,closedAt
49+
```
50+
51+
## Freshness Rules
52+
53+
- Treat `gitcrawl` as stale if `doctor` shows no target thread, an old `last_sync_at`, missing embeddings for neighbor/search commands, or a clearly wrong open/closed state.
54+
- If stale data blocks the decision, refresh the portable store first:
55+
56+
```bash
57+
gitcrawl init --portable-store git@github.com:openclaw/gitcrawl-store.git --json
58+
```
59+
60+
- Run expensive update commands such as `gitcrawl sync --include-comments` only when the user asked to update the local store or stale data is blocking the decision.
61+
- The sync default is all GitHub thread states; pass `--state open`, `--state closed`, or `--state all` only when a task requires a narrower or explicit scope.
62+
63+
## Boundaries
64+
65+
- Use `gitcrawl` for candidates, clusters, and historical context.
66+
- Use `gh`, `gh api`, and the current checkout for live state before commenting, labeling, closing, reopening, merging, or filing a PR review.
67+
- Do not close or label based only on `gitcrawl` similarity. Require matching problem intent plus live verification.
68+
- If `gitcrawl` is unavailable, say so and fall back to targeted `gh search` rather than blocking normal maintainer work.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
interface:
2+
display_name: "Gitcrawl"
3+
short_description: "Search local OpenClaw issue and PR history before live GitHub triage"
4+
default_prompt: "Use $gitcrawl to inspect OpenClaw issue and PR history, find related threads and duplicate candidates, then verify actionable decisions with live GitHub."

.agents/skills/openclaw-pr-maintainer/SKILL.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ Use this skill for maintainer-facing GitHub workflow, not for ordinary code chan
99

1010
## Start issue and PR triage with gitcrawl
1111

12-
- Anytime you inspect OpenClaw issues or PRs, check local `gitcrawl` data first for related threads, duplicate attempts, and already-landed fixes.
12+
- Use `$gitcrawl` first anytime you inspect OpenClaw issues or PRs.
13+
- Check local `gitcrawl` data first for related threads, duplicate attempts, and already-landed fixes.
1314
- Use `gitcrawl` for candidate discovery and clustering; use `gh`, `gh api`, and the current checkout to verify live state before commenting, labeling, closing, or landing.
1415
- If `gitcrawl` is missing, stale, lacks the target thread, or has no embeddings for neighbor/search commands, fall back to the GitHub search workflow below.
1516
- Do not run expensive/update commands such as `gitcrawl sync --include-comments`, future enrichment commands, or broad reclustering unless the user asked to update the local store or stale data is blocking the decision.

.agents/skills/openclaw-testing/SKILL.md

Lines changed: 58 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,11 @@ parent gate. If a child workflow failed but was later rerun successfully, rerun
141141
only the failed parent verifier job; do not dispatch a new full umbrella unless
142142
the release evidence is stale.
143143

144+
For bounded recovery after a focused fix, pass `-f rerun_group=<group>`.
145+
Supported umbrella groups are `all`, `ci`, `release-checks`, `install-smoke`,
146+
`cross-os`, `live-e2e`, `package`, `qa`, `qa-parity`, `qa-live`, and
147+
`npm-telegram`. Use the narrowest group that covers the failed box.
148+
144149
### Release Evidence
145150

146151
After release-candidate validation or before a release decision, record the
@@ -192,9 +197,19 @@ gh workflow run openclaw-release-checks.yml \
192197
--ref main \
193198
-f ref=<branch-or-sha> \
194199
-f provider=openai \
195-
-f mode=both
200+
-f mode=both \
201+
-f rerun_group=all
196202
```
197203

204+
Release-check rerun groups are `all`, `install-smoke`, `cross-os`, `live-e2e`,
205+
`package`, `qa`, `qa-parity`, and `qa-live`.
206+
207+
The release QA parity box is internally split into candidate and baseline lane
208+
jobs, followed by a report job that downloads both artifacts and runs
209+
`pnpm openclaw qa parity-report`. For parity failures, inspect the failed lane
210+
first; inspect the report job when both lane summaries exist but the comparison
211+
fails.
212+
198213
### QA Lab Matrix Profiles
199214

200215
`pnpm openclaw qa matrix` defaults to `--profile all`. Do not assume the CLI
@@ -236,26 +251,49 @@ gh workflow run openclaw-live-and-e2e-checks-reusable.yml \
236251
Useful knobs:
237252

238253
- `docker_lanes='<lane[,lane]>'`: run selected Docker scheduler lanes against
239-
prepared artifacts instead of the three release chunks.
254+
prepared artifacts instead of the release chunk matrix. Multiple selected
255+
lanes fan out as parallel targeted Docker jobs after one shared package/image
256+
preparation step.
240257
- `include_live_suites=false`: skip live/provider suites when testing Docker
241258
scheduler or release packaging only.
242259
- `live_models_only=true`: run only Docker live model coverage.
243260
- `live_model_providers=fireworks` (or comma/space separated providers): run one
244261
targeted Docker live model job instead of the full provider matrix.
245262
- blank `live_model_providers`: run the full live-model provider matrix.
246263

264+
Release-path Docker chunks are currently `core`, `package-update-openai`,
265+
`package-update-anthropic`, `package-update-core`, `plugins-runtime-core`,
266+
`plugins-runtime-install-a`, `plugins-runtime-install-b`,
267+
`bundled-channels-core`, `bundled-channels-update-a`,
268+
`bundled-channels-update-b`, and `bundled-channels-contracts`. The aggregate
269+
`bundled-channels` chunk remains valid for manual one-shot reruns, but release
270+
checks use the split chunks.
271+
247272
When live suites are enabled, the workflow shards broad native `pnpm test:live`
248273
coverage through `scripts/test-live-shard.mjs` instead of one serial `live-all`
249274
job:
250275

251276
- `native-live-src-agents`
252-
- `native-live-src-gateway`
277+
- `native-live-src-gateway-core`
278+
- `native-live-src-gateway-profiles` (release CI runs this with provider
279+
filters such as `OPENCLAW_LIVE_GATEWAY_PROVIDERS=anthropic`)
280+
- `native-live-src-gateway-backends`
253281
- `native-live-test`
254282
- `native-live-extensions-a-k`
255-
- `native-live-extensions-l-z`
283+
- `native-live-extensions-l-n`
284+
- `native-live-extensions-openai`
285+
- `native-live-extensions-o-z`
286+
- `native-live-extensions-o-z-other`
287+
- `native-live-extensions-xai`
288+
- `native-live-extensions-media`
289+
- `native-live-extensions-media-audio`
290+
- `native-live-extensions-media-music`
291+
- `native-live-extensions-media-video`
256292

257293
Use `node scripts/test-live-shard.mjs <shard> --list` to see the exact files
258-
before rerunning a failed native live shard.
294+
before rerunning a failed native live shard. The aggregate `o-z` and `media`
295+
shards remain useful locally; release CI uses the smaller provider/media shards
296+
so one live-provider flake does not force a broad native live rerun.
259297

260298
For model-list or provider-selection fixes, use `live_models_only=true` plus the
261299
specific `live_model_providers` allowlist. Confirm logs show the expected
@@ -304,19 +342,25 @@ generated inside GitHub artifacts include `package_artifact_run_id`,
304342
exact tarball and prepared images from the failed run. When the fix changes
305343
package contents, omit those reuse inputs so the workflow packs a new tarball.
306344
Live-only targeted reruns skip the E2E images and build only the live-test
307-
image. Release-path normal mode fans out into four Docker chunk jobs:
345+
image. Release-path normal mode fans out into smaller Docker chunk jobs:
308346

309347
- `core`
310-
- `package-update`
311-
- `plugins-runtime`
348+
- `package-update-openai`
349+
- `package-update-anthropic`
350+
- `package-update-core`
351+
- `plugins-runtime-core`
352+
- `plugins-runtime-install-a`
353+
- `plugins-runtime-install-b`
312354
- `bundled-channels`
313355

314-
OpenWebUI is folded into `plugins-runtime` for full release-path coverage and
315-
keeps a standalone `openwebui` chunk only for OpenWebUI-only dispatches. The
316-
legacy `plugins-integrations` chunk still works as an aggregate alias for manual
317-
reruns, but the release workflow uses the split chunks so plugin runtime checks
318-
and bundled-channel checks can run on separate machines. The bundled-channel
319-
runtime-dependency coverage inside `bundled-channels`
356+
OpenWebUI is folded into `plugins-runtime-core` for full release-path coverage
357+
and keeps a standalone `openwebui` chunk only for OpenWebUI-only dispatches.
358+
The legacy `package-update`, `plugins-runtime`, and `plugins-integrations`
359+
chunks still work as aggregate aliases for manual reruns, but the release
360+
workflow uses the split chunks so provider installer checks, plugin runtime
361+
checks, bundled plugin install/uninstall shards, and bundled-channel checks can
362+
run on separate machines. The bundled-channel runtime-dependency coverage
363+
inside `bundled-channels`
320364
uses the split `bundled-channel-*` and `bundled-channel-update-*` lanes rather
321365
than the serial `bundled-channel-deps` lane, so failures produce cheap targeted
322366
reruns for the exact channel/update scenario. The bundled plugin

0 commit comments

Comments
 (0)