Skip to content

Commit 1e1ae6f

Browse files
authored
fix(memory-wiki): strip fenced code blocks before wikilink extraction
1 parent 73dc121 commit 1e1ae6f

126 files changed

Lines changed: 3348 additions & 1135 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/openclaw-ci-limits/SKILL.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,17 @@ registration edge limit.
1313

1414
- The scarce resource is Blacksmith runner registrations, not Blacksmith vCPU
1515
capacity.
16-
- GitHub runner registrations for `openclaw` are currently capped at 3,000 per
17-
5 minutes per repository, organization, or enterprise. The `openclaw`
16+
- GitHub runner registrations for `openclaw` currently report a 10,000 per
17+
5-minute bucket in `actions_runner_registration`. Verify the live bucket
18+
before each tuning pass because GitHub can change it. The `openclaw`
1819
organization shares one bucket.
1920
- Core REST quota does not draw down this bucket. Check
2021
`actions_runner_registration` separately; core quota can be healthy while
2122
runner registration is throttled.
22-
- Use 2,000 registrations per 5 minutes as the operating target. Leave the last
23-
third for other repos, retries, and burst overlap.
23+
- Use about 60% of the live bucket as the operating target. With the current
24+
10,000-registration bucket, keep planned Blacksmith burst load under 6,000
25+
registrations per 5 minutes and leave the rest for other repos, retries, and
26+
burst overlap.
2427
- Jobs that route, notify, summarize, choose shards, or run short CodeQL quality
2528
scans should stay on GitHub-hosted runners unless measured evidence says
2629
Blacksmith is required.
@@ -88,9 +91,10 @@ admission. The debounce only suppresses pushes that arrive while
8891
registrations are spent even if a later push cancels the run. If timing is
8992
uncertain, count every sequential push in the window.
9093

91-
Reject a change unless the org-level worst case stays below 2,000 registrations
92-
per 5 minutes with headroom for ClawSweeper, ClawHub, Clownfish, OpenClaw RTT,
93-
and Clawbench.
94+
Reject a change unless the org-level worst case stays below about 60% of the
95+
live bucket. With the current 10,000-registration bucket, keep planned
96+
Blacksmith burst load under 6,000 registrations per 5 minutes with headroom for
97+
ClawSweeper, ClawHub, Clownfish, OpenClaw RTT, and Clawbench.
9498

9599
## Safe Levers
96100

.github/workflows/crabbox-hydrate.yml

Lines changed: 3 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,8 @@ jobs:
190190
PNPM
191191
sudo chmod 0755 /usr/local/bin/pnpm
192192
193-
- name: Ensure Docker is running
193+
- &crabbox_ensure_docker_step
194+
name: Ensure Docker is running
194195
shell: bash
195196
run: |
196197
set -euo pipefail
@@ -612,59 +613,7 @@ jobs:
612613
PNPM
613614
sudo chmod 0755 /usr/local/bin/pnpm
614615
615-
- name: Ensure Docker is running
616-
shell: bash
617-
run: |
618-
set -euo pipefail
619-
620-
if ! command -v docker >/dev/null 2>&1; then
621-
echo "docker not found; installing fallback engine"
622-
curl --fail --show-error --location \
623-
--connect-timeout "${OPENCLAW_CRABBOX_HYDRATE_DOWNLOAD_CONNECT_TIMEOUT_SECONDS:-15}" \
624-
--max-time "${OPENCLAW_CRABBOX_HYDRATE_DOWNLOAD_TIMEOUT_SECONDS:-300}" \
625-
--retry "${OPENCLAW_CRABBOX_HYDRATE_DOWNLOAD_RETRIES:-3}" \
626-
--retry-delay "${OPENCLAW_CRABBOX_HYDRATE_DOWNLOAD_RETRY_DELAY_SECONDS:-5}" \
627-
--retry-all-errors \
628-
https://get.docker.com | sudo sh
629-
fi
630-
631-
if command -v systemctl >/dev/null 2>&1; then
632-
sudo systemctl start docker || true
633-
elif command -v service >/dev/null 2>&1; then
634-
sudo service docker start || true
635-
fi
636-
637-
if [ -S /var/run/docker.sock ]; then
638-
sudo usermod -aG docker "$USER" || true
639-
# The runner process keeps its original groups; grant this
640-
# ephemeral runner session access without requiring a relogin.
641-
sudo chmod 666 /var/run/docker.sock
642-
fi
643-
644-
if ! docker buildx version >/dev/null 2>&1; then
645-
arch="$(uname -m)"
646-
case "$arch" in
647-
aarch64|arm64) buildx_arch=arm64 ;;
648-
x86_64|amd64) buildx_arch=amd64 ;;
649-
*) echo "unsupported buildx arch: $arch" >&2; exit 2 ;;
650-
esac
651-
buildx_version="${DOCKER_BUILDX_VERSION:-v0.15.1}"
652-
mkdir -p "$HOME/.docker/cli-plugins"
653-
curl --fail --show-error --location \
654-
--connect-timeout "${OPENCLAW_CRABBOX_HYDRATE_DOWNLOAD_CONNECT_TIMEOUT_SECONDS:-15}" \
655-
--max-time "${OPENCLAW_CRABBOX_HYDRATE_DOWNLOAD_TIMEOUT_SECONDS:-300}" \
656-
--retry "${OPENCLAW_CRABBOX_HYDRATE_DOWNLOAD_RETRIES:-3}" \
657-
--retry-delay "${OPENCLAW_CRABBOX_HYDRATE_DOWNLOAD_RETRY_DELAY_SECONDS:-5}" \
658-
--retry-all-errors \
659-
"https://github.com/docker/buildx/releases/download/${buildx_version}/buildx-${buildx_version}.linux-${buildx_arch}" \
660-
-o "$HOME/.docker/cli-plugins/docker-buildx"
661-
chmod 0755 "$HOME/.docker/cli-plugins/docker-buildx"
662-
fi
663-
664-
docker version
665-
docker buildx version
666-
docker compose version || true
667-
616+
- *crabbox_ensure_docker_step
668617
- name: Ensure SSH is available
669618
shell: bash
670619
run: |

.github/workflows/docker-release.yml

Lines changed: 4 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ jobs:
108108
ref: ${{ github.event_name == 'workflow_dispatch' && format('refs/tags/{0}', inputs.tag) || github.ref }}
109109
fetch-depth: 0
110110

111-
- name: Pre-pull BuildKit image
111+
- &buildkit_prepull_step
112+
name: Pre-pull BuildKit image
112113
shell: bash
113114
env:
114115
BUILDKIT_IMAGE: moby/buildkit:buildx-stable-1
@@ -329,25 +330,7 @@ jobs:
329330
ref: ${{ github.event_name == 'workflow_dispatch' && format('refs/tags/{0}', inputs.tag) || github.ref }}
330331
fetch-depth: 0
331332

332-
- name: Pre-pull BuildKit image
333-
shell: bash
334-
env:
335-
BUILDKIT_IMAGE: moby/buildkit:buildx-stable-1
336-
run: |
337-
set -euo pipefail
338-
for attempt in 1 2 3 4; do
339-
if docker pull "${BUILDKIT_IMAGE}"; then
340-
exit 0
341-
fi
342-
if [[ "${attempt}" == "4" ]]; then
343-
echo "::error::Failed to pull ${BUILDKIT_IMAGE} after ${attempt} attempts"
344-
exit 1
345-
fi
346-
sleep_seconds=$((attempt * 10))
347-
echo "BuildKit image pull failed; retrying in ${sleep_seconds}s (${attempt}/4)."
348-
sleep "${sleep_seconds}"
349-
done
350-
333+
- *buildkit_prepull_step
351334
- name: Set up Docker Builder
352335
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
353336

@@ -683,25 +666,7 @@ jobs:
683666
with:
684667
fetch-depth: 1
685668

686-
- name: Pre-pull BuildKit image
687-
shell: bash
688-
env:
689-
BUILDKIT_IMAGE: moby/buildkit:buildx-stable-1
690-
run: |
691-
set -euo pipefail
692-
for attempt in 1 2 3 4; do
693-
if docker pull "${BUILDKIT_IMAGE}"; then
694-
exit 0
695-
fi
696-
if [[ "${attempt}" == "4" ]]; then
697-
echo "::error::Failed to pull ${BUILDKIT_IMAGE} after ${attempt} attempts"
698-
exit 1
699-
fi
700-
sleep_seconds=$((attempt * 10))
701-
echo "BuildKit image pull failed; retrying in ${sleep_seconds}s (${attempt}/4)."
702-
sleep "${sleep_seconds}"
703-
done
704-
669+
- *buildkit_prepull_step
705670
- name: Set up Docker Builder
706671
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
707672

.github/workflows/openclaw-release-checks.yml

Lines changed: 5 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1431,7 +1431,8 @@ jobs:
14311431
node-version: ${{ env.NODE_VERSION }}
14321432
install-bun: "true"
14331433

1434-
- name: Validate required QA credential env
1434+
- &release_qa_required_credentials_step
1435+
name: Validate required QA credential env
14351436
env:
14361437
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
14371438
OPENCLAW_QA_CONVEX_SECRET_CI: ${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}
@@ -1571,25 +1572,7 @@ jobs:
15711572
node-version: ${{ env.NODE_VERSION }}
15721573
install-bun: "true"
15731574

1574-
- name: Validate required QA credential env
1575-
env:
1576-
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
1577-
OPENCLAW_QA_CONVEX_SECRET_CI: ${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}
1578-
shell: bash
1579-
run: |
1580-
set -euo pipefail
1581-
1582-
require_var() {
1583-
local key="$1"
1584-
if [[ -z "${!key:-}" ]]; then
1585-
echo "Missing required ${key}." >&2
1586-
exit 1
1587-
fi
1588-
}
1589-
1590-
require_var OPENCLAW_QA_CONVEX_SITE_URL
1591-
require_var OPENCLAW_QA_CONVEX_SECRET_CI
1592-
1575+
- *release_qa_required_credentials_step
15931576
- name: Build private QA runtime
15941577
env:
15951578
NODE_OPTIONS: --max-old-space-size=8192
@@ -1714,25 +1697,7 @@ jobs:
17141697
node-version: ${{ env.NODE_VERSION }}
17151698
install-bun: "true"
17161699

1717-
- name: Validate required QA credential env
1718-
env:
1719-
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
1720-
OPENCLAW_QA_CONVEX_SECRET_CI: ${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}
1721-
shell: bash
1722-
run: |
1723-
set -euo pipefail
1724-
1725-
require_var() {
1726-
local key="$1"
1727-
if [[ -z "${!key:-}" ]]; then
1728-
echo "Missing required ${key}." >&2
1729-
exit 1
1730-
fi
1731-
}
1732-
1733-
require_var OPENCLAW_QA_CONVEX_SITE_URL
1734-
require_var OPENCLAW_QA_CONVEX_SECRET_CI
1735-
1700+
- *release_qa_required_credentials_step
17361701
- name: Build private QA runtime
17371702
env:
17381703
NODE_OPTIONS: --max-old-space-size=8192
@@ -1854,25 +1819,7 @@ jobs:
18541819
node-version: ${{ env.NODE_VERSION }}
18551820
install-bun: "true"
18561821

1857-
- name: Validate required QA credential env
1858-
env:
1859-
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
1860-
OPENCLAW_QA_CONVEX_SECRET_CI: ${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}
1861-
shell: bash
1862-
run: |
1863-
set -euo pipefail
1864-
1865-
require_var() {
1866-
local key="$1"
1867-
if [[ -z "${!key:-}" ]]; then
1868-
echo "Missing required ${key}." >&2
1869-
exit 1
1870-
fi
1871-
}
1872-
1873-
require_var OPENCLAW_QA_CONVEX_SITE_URL
1874-
require_var OPENCLAW_QA_CONVEX_SECRET_CI
1875-
1822+
- *release_qa_required_credentials_step
18761823
- name: Build private QA runtime
18771824
env:
18781825
NODE_OPTIONS: --max-old-space-size=8192

.github/workflows/qa-live-transports-convex.yml

Lines changed: 5 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,8 @@ jobs:
497497
node-version: ${{ env.NODE_VERSION }}
498498
install-bun: "true"
499499

500-
- name: Validate required QA credential env
500+
- &qa_live_required_credentials_step
501+
name: Validate required QA credential env
501502
env:
502503
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
503504
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
@@ -592,27 +593,7 @@ jobs:
592593
node-version: ${{ env.NODE_VERSION }}
593594
install-bun: "true"
594595

595-
- name: Validate required QA credential env
596-
env:
597-
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
598-
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
599-
OPENCLAW_QA_CONVEX_SECRET_CI: ${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}
600-
shell: bash
601-
run: |
602-
set -euo pipefail
603-
604-
require_var() {
605-
local key="$1"
606-
if [[ -z "${!key:-}" ]]; then
607-
echo "Missing required ${key}." >&2
608-
exit 1
609-
fi
610-
}
611-
612-
require_var OPENAI_API_KEY
613-
require_var OPENCLAW_QA_CONVEX_SITE_URL
614-
require_var OPENCLAW_QA_CONVEX_SECRET_CI
615-
596+
- *qa_live_required_credentials_step
616597
- name: Build private QA runtime
617598
env:
618599
NODE_OPTIONS: --max-old-space-size=12288
@@ -690,27 +671,7 @@ jobs:
690671
node-version: ${{ env.NODE_VERSION }}
691672
install-bun: "true"
692673

693-
- name: Validate required QA credential env
694-
env:
695-
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
696-
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
697-
OPENCLAW_QA_CONVEX_SECRET_CI: ${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}
698-
shell: bash
699-
run: |
700-
set -euo pipefail
701-
702-
require_var() {
703-
local key="$1"
704-
if [[ -z "${!key:-}" ]]; then
705-
echo "Missing required ${key}." >&2
706-
exit 1
707-
fi
708-
}
709-
710-
require_var OPENAI_API_KEY
711-
require_var OPENCLAW_QA_CONVEX_SITE_URL
712-
require_var OPENCLAW_QA_CONVEX_SECRET_CI
713-
674+
- *qa_live_required_credentials_step
714675
- name: Build private QA runtime
715676
env:
716677
NODE_OPTIONS: --max-old-space-size=12288
@@ -785,27 +746,7 @@ jobs:
785746
node-version: ${{ env.NODE_VERSION }}
786747
install-bun: "true"
787748

788-
- name: Validate required QA credential env
789-
env:
790-
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
791-
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
792-
OPENCLAW_QA_CONVEX_SECRET_CI: ${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}
793-
shell: bash
794-
run: |
795-
set -euo pipefail
796-
797-
require_var() {
798-
local key="$1"
799-
if [[ -z "${!key:-}" ]]; then
800-
echo "Missing required ${key}." >&2
801-
exit 1
802-
fi
803-
}
804-
805-
require_var OPENAI_API_KEY
806-
require_var OPENCLAW_QA_CONVEX_SITE_URL
807-
require_var OPENCLAW_QA_CONVEX_SECRET_CI
808-
749+
- *qa_live_required_credentials_step
809750
- name: Build private QA runtime
810751
env:
811752
NODE_OPTIONS: --max-old-space-size=12288

0 commit comments

Comments
 (0)