Commit Graph

3999 Commits

Author SHA1 Message Date
Peter Steinberger
d702f6fb33 ci: shorten full release validation critical path (#107894)
* ci(release): parallelize plugin Docker lanes

* test(plugins): expect malformed URL redaction

* ci: start release performance validation concurrently

* docs(agents): guard PR operations after throttling
2026-07-14 22:39:32 -07:00
Peter Steinberger
9275f476f4 fix(release): retry flaky fresh Parallels lanes 2026-07-15 06:24:32 +01:00
xydt-tanshanshan
f638cbd0f9 fix(doctor): preserve allowlist entries for version-bound runtime plugins during stale config scan (#107285)
* fix(doctor): preserve allowlist entries for version-bound runtime plugins (codex) during stale config scan

* fix(doctor): restore codex to scanner stale expectation, protect at repair-sequencing

Scanner now flags codex in plugins.allow as stale so diagnostics are visible.
Repair-sequencing preserves the entry via preservePluginIds which already
includes VERSION_BOUND_RUNTIME_PLUGIN_IDS.

* fix(doctor): scope version-bound runtime plugin preservation to allow surface only

ClawSweeper P2: VERSION_BOUND_RUNTIME_PLUGIN_IDS was applied globally
across all stale config surfaces (deny, entries, slots, channels, etc.),
but only plugins.allow needs preservation. Move to a surface-scoped
parameter surfacePreservePluginIds so codex is preserved only in allow.

* fix(doctor): harden version-bound allowlist repair

* fix(doctor): retain version-bound plugin policy

* fix(doctor): align version-bound plugin diagnostics

Co-authored-by: hailory <hailory@xydigit.com>

---------

Co-authored-by: hailory <hailory@xydigit.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 22:14:11 -07:00
Peter Steinberger
e9fc23ad1f refactor(plugin-sdk): remove private testing barrel ahead of window (#108020) 2026-07-14 22:13:37 -07:00
Peter Steinberger
6c0725e0d9 fix(release): tolerate exhausted GitHub read quota 2026-07-15 05:21:30 +01:00
Peter Steinberger
2372c71697 fix(release): preserve candidate Node runtime 2026-07-15 05:03:43 +01:00
Peter Steinberger
5fa348f3ed fix(release): pin max-lines debt to branch merge base 2026-07-15 05:03:43 +01:00
Vincent Koc
01b0989353 fix(release): allow shipped ledger metadata references 2026-07-15 05:03:43 +01:00
Peter Steinberger
ce078367e4 fix(docs): preserve plugin surface identifiers 2026-07-14 23:41:24 -04:00
Peter Steinberger
d78dbc0628 test(ci): strengthen deprecated facade guard (#107927)
* fix(ci): repair runner and chat guards

* fix(ci): repair main validation guards

* test(ui): use isolated TouchEvent globals

* fix(ci): remove retired ingress exports

* test(ci): strengthen deprecated facade guard
2026-07-14 20:29:18 -07:00
Peter Steinberger
d6a6b132b3 test: speed live updater fixtures (#107892) 2026-07-14 18:31:00 -07:00
Peter Steinberger
1fd4009e41 perf: speed type suppression inventory (#107874) 2026-07-14 18:08:33 -07:00
Peter Steinberger
b2fd0276aa ci(perf): pin calibrated Kova revision (#107870) 2026-07-14 17:59:43 -07:00
Peter Steinberger
9043bcf230 test: share deep archive fixture prefix (#107858) 2026-07-14 17:20:22 -07:00
Peter Steinberger
b363d5a293 feat(linux): canvas UI via CLI-node + Tauri app IPC bridge (#107633)
* feat(linux): canvas via CLI-node + Tauri app IPC bridge

* refactor: extract gateway helper modules

* build(linux-canvas): register plugin package in lockfile

* fix(linux-canvas): move canvas advertise test out of core, regen docs/protocol/deadcode

* fix(gateway): break node-catalog/registry import cycle via leaf normalize module; add canvas glossary term

* style: oxfmt invoke.ts and runtime.ts after buildNodeEventParams extraction

* fix(linux): load Canvas WebView via dedicated data_directory context

Wry's Linux/WebKitGTK incognito mode discards Tauri's registered
WebContext (wry webkitgtk/mod.rs), so the Canvas window got a fresh
ephemeral context without the openclaw-canvas:// scheme handler — the
bundled A2UI page never committed (stayed about:blank) and every A2UI
command timed out. Use an isolated cache-backed data_directory instead,
which keeps the protocol handler while still isolating Canvas storage
from the dashboard window.

* fix(linux): keep Canvas WebView ephemeral via incognito + data_directory

Autoreview flagged that a dedicated data_directory alone persists Canvas
browser state (cookies, localStorage, IndexedDB, service workers) across
restarts, so an agent that navigates Canvas to a site could leak an
authenticated session into a later session. iOS uses a non-persistent
store; Linux should match.

Add .incognito(true) alongside .data_directory(): the distinct directory
gives Tauri a fresh WebContext key so it still attaches the
openclaw-canvas:// protocol closure, and incognito makes Wry swap in a
fresh *ephemeral* context carrying those protocols. Live-verified on a
Wayland/WebKitGTK box: the bundled page still loads
(location.href=openclaw-canvas://localhost/index.html, openclawA2UI
present, A2UI renders) and the canvas-webview dir holds no persistent
cookie/storage files.
2026-07-14 16:05:14 -07:00
Peter Steinberger
86085563be test(ci): isolate flaky shared-worker suites (#107780)
* test(ci): isolate flaky shared-worker suites

* test(ci): route isolated agent targets
2026-07-14 15:00:58 -07:00
Peter Steinberger
60f0a83db0 fix(ci): repair full release validation dispatch (#107728)
* fix(ci): accept documented release validation extras

* fix(ci): pass main changelog policy to release checks
2026-07-14 12:34:47 -07:00
Peter Steinberger
c2e0ce7b68 fix(ci): restore main validation gates (#107697)
* fix(ci): allow Unreleased notes for main validation

* test(ci): cover release smoke changelog intent

* test(ci): require release changelog policy propagation

* docs(agents): require review init after pushes

* chore(ci): prune stale max-lines baseline

* refactor(system-agent): split operation modules

* refactor(bonjour): keep ciao classification type private

* fix(bonjour): remove stale local classification alias
2026-07-14 12:11:25 -07:00
Peter Steinberger
3ce9166319 test(scripts): align pinned e2e entrypoint and live-shard order with rename
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
69e9254e0e fix(ci): regen rename-affected generated surfaces and fix e2e entrypoint
native i18n inventory + per-locale artifacts resynced for the OpenClaw
strings; Kotlin gateway protocol enum regenerated instead of hand-edited;
deadcode baseline re-sorted; lint suppression allowlist entries moved to
sorted position; setup TTY check drops redundant boolean compares;
ring-zero first-run e2e calls the real 'openclaw setup' subcommand.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
a6a0716486 feat(setup): rename Crestodian to OpenClaw system agent
User-facing name is now OpenClaw (the system speaks); internal code name is
system-agent. Gateway methods crestodian.* -> openclaw.chat/openclaw.setup.*,
agent tool -> openclaw, reserved agent ids openclaw + retired crestodian.
openclaw setup routes: onboarding flags -> onboard, -m/--yes -> system agent,
bare configured interactive -> OpenClaw chat, unconfigured -> onboarding.
Hidden crestodian CLI and /crestodian TUI aliases kept; docs moved to
docs/cli/openclaw.md with redirect stub. macOS/Android strings in lockstep.

Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
e297bc2ac5 fix(release): validate npm preflight workflow trust 2026-07-14 18:44:08 +01:00
Peter Steinberger
0b409a0348 refactor(gateway): split session handlers (#107677)
* refactor(gateway): split session handlers

* chore(gateway): drop obsolete max-lines suppression

* test(gateway): preserve session boundary ratchets

* test(gateway): update session boundary fixtures

* style(auto-reply): restore formatter compliance
2026-07-14 10:41:36 -07:00
Jesse Merhi
00364ee777 improve: warn before non-ClawHub plugin installs (#102197)
Merged via squash.

Prepared head SHA: e08d9e737d
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com>
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com>
Reviewed-by: @jesse-merhi
2026-07-15 03:25:36 +10:00
Peter Steinberger
202b04925c fix(ci): fetch exact PR base before history (#107674) 2026-07-14 10:12:40 -07:00
Peter Steinberger
2bbf5e6ca0 fix(macos): prevent clipped and stalled onboarding (#107598)
* fix(macos): harden onboarding on short screens

* chore: keep release notes in PR body

* chore(i18n): refresh macOS onboarding inventory
2026-07-14 10:07:41 -07:00
Peter Steinberger
bea48db878 refactor(command-explainer): use native tree-sitter contracts 2026-07-14 09:59:20 -07:00
Peter Steinberger
f81f9d8570 chore: enforce max-lines suppression ratchet (#107315)
* ci: enforce max-lines suppression ratchet

* chore: prune stale max-lines suppression

* fix: close max-lines ratchet enforcement gaps

* fix: harden max-lines ratchet checks

* fix(ci): satisfy max-lines ratchet checks

* style: format max-lines declarations

* fix(ci): match oxlint suppression grammar

* test: isolate max-lines git fixtures

* chore: prune resolved max-lines debt

* test: skip newline path fixture on Windows

* fix: harden max-lines suppression ratchet

* chore: refresh max-lines baseline

* fix: close max-lines ratchet bypasses

* fix: derive ratchet base from PR merge tree

* fix: support older Git in staged ratchet

* fix: align max-lines declarations and baseline

* chore: refresh max-lines baseline for current main

* fix: exclude generated wizard locales from max-lines

* chore: prune resolved max-lines debt
2026-07-14 09:27:02 -07:00
Peter Steinberger
242cdca058 fix(docker): keep gateway ws client self-contained (#107561)
* fix(docker): keep gateway ws client self-contained

* test(raft): narrow optional runtime schema

* test(tlon): narrow signed URL mock input

* fix(tui): type searchable selector metadata
2026-07-14 07:42:17 -07:00
Peter Steinberger
0869e92b23 fix(ci): pin calibrated Kova status budget 2026-07-14 10:24:00 -04:00
Peter Steinberger
cfd4ecb217 fix(release): use active gh authentication for evidence 2026-07-14 09:35:58 -04:00
Peter Steinberger
99cf5836dd fix(ci): pin calibrated Kova performance budgets 2026-07-14 13:54:29 +01:00
Peter Steinberger
9de11f098e fix(release): forward-port July guards and restore main validation (#107462)
* fix(installer): validate upgraded Windows SQLite runtime

* fix(release): lock packed AI runtime dependency

* test(mattermost): tolerate additional fallback diagnostics

* test(live): make Claude resume proof explicit

* test(plugins): repair exact-main prerelease coverage

* test(release): restore root test type coverage

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com>
2026-07-14 05:41:24 -07:00
Peter Steinberger
52b56c1f31 fix(maint): honor recent green PR cohorts (#107411) 2026-07-14 05:11:57 -07:00
Peter Steinberger
a2790f10af fix(release): recover vanished PR ledger entries 2026-07-14 12:45:31 +01:00
Josh Avant
db541e5c60 fix(ios): preserve pinned tools for archive (#107188) 2026-07-14 03:25:56 -07:00
Peter Steinberger
f20089c569 fix: route heavy changed checks remotely (#107282) 2026-07-14 01:15:58 -07:00
Peter Steinberger
47d37804a8 improve(ui): catch i18n catalog drift locally (#107253)
* ci(ui): verify i18n catalogs locally

* fix(ui): preserve scoped i18n sync errors

* refactor(ui): share i18n raw-copy verifier

* test(ui): cover i18n lint gate

* fix(ui): route lint threads to oxlint
2026-07-14 01:12:36 -07:00
Peter Steinberger
f4b7a19624 fix: avoid remote boxes for focused validation (#107166)
* fix: avoid remote boxes for focused validation

* fix: preserve explicit remote proof routing

* fix: delegate when local diff refs are unavailable
2026-07-14 00:53:17 -07:00
Peter Steinberger
63f497a428 fix(build): refresh cached CLI help per build 2026-07-14 00:21:36 -07:00
Peter Steinberger
69a578034f test: isolate provider auth parity suite (#107167) 2026-07-14 00:16:49 -07:00
Peter Steinberger
a418bf9bef test: parallelize dev tooling CLI probes (#107232) 2026-07-14 00:11:22 -07:00
Peter Steinberger
606e2f5dba fix(ci): stop unrelated main updates from forcing PR rebases (#107050)
* fix(ci): stop unrelated main updates from forcing PR rebases

* docs(ci): document reusable aggregate proof

* docs(ci): clarify immutable gate success

* chore(ci): refresh stalled PR head
2026-07-14 00:01:01 -07:00
Peter Steinberger
ec72fda21c refactor(scripts): use dependency metadata parsers 2026-07-13 23:33:30 -07:00
Peter Steinberger
df5097b6e7 fix(native): keep platform validation warning-free (#107101)
* build(android): keep Gradle warning-free

* ci(native): pin XcodeGen tooling

* test(macos): avoid concurrency warnings
2026-07-13 22:33:12 -07:00
Peter Steinberger
069915f173 test: accelerate sqlite state cli tests (#107150) 2026-07-13 22:12:21 -07:00
Peter Steinberger
e278a34331 feat(macos): refresh DMG installer artwork (#107142) 2026-07-13 22:09:36 -07:00
Peter Steinberger
2e58c2bc53 test: accelerate sqlite reliability suite (#107134) 2026-07-13 21:50:36 -07:00
Peter Steinberger
504be0c255 fix(release): preserve closeout asset names (#107047) 2026-07-13 21:20:01 -07:00
Peter Steinberger
07284af748 test: omit live-only tooling leaf shards (#107088) 2026-07-13 20:56:14 -07:00