Commit Graph

524 Commits

Author SHA1 Message Date
Peter Steinberger
4669db230a docs(agents): require architectural root-cause repairs 2026-07-31 11:06:32 -07:00
Ayaan Zaidi
73ab157e6f docs(agents): calibrate defaults ambition and security tradeoff in Product Doctrine 2026-07-30 08:44:40 +09:00
Peter Steinberger
3f4d65a672 feat(harness): report copilot code-mode engagement on the attempt result (#115913)
* feat(harness): report copilot code-mode engagement on the attempt result

* test(copilot): prove code-mode engagement through the production tool bridge

* docs: describe the normalized codeModeEngaged value for native harnesses
2026-07-29 14:44:15 -04:00
Ayaan Zaidi
987522fdcc docs(vision,agents): layer calibration, interface-on-demand, telemetry opt-in, whole-document guidance rules 2026-07-29 20:13:45 +09:00
Ayaan Zaidi
e92da4c8ba docs(agents): reword imported review rules in repo voice 2026-07-29 19:54:37 +09:00
Ayaan Zaidi
9182999eb6 docs(agents): add context-budget, tool-description, cache-invalidation, and review-premise rules 2026-07-29 19:54:37 +09:00
Ayaan Zaidi
344a8e48df docs(agents): mock-gateway proof satisfies gate without discouraging live proof 2026-07-29 19:54:37 +09:00
Ayaan Zaidi
c9f8c05598 docs(agents): add vitest in-flight edit rule and mock-gateway proof recipe 2026-07-29 19:54:37 +09:00
Ayaan Zaidi
620bf5a9c0 docs(agents): restructure root AGENTS.md around product doctrine and deduped policy 2026-07-29 19:54:37 +09:00
Vincent Koc
25c375e47f refactor: reuse canonical record guards (#115810)
* docs(agents): standardize canonical record guards

* refactor(model-catalog): use canonical record guard

* refactor(scripts): use canonical record guard

* refactor(ui): use canonical record guard

* refactor(codex): use canonical record guard

* refactor(agents): use canonical record guard

* refactor(sessions): use canonical record guard

* refactor(doctor): use canonical record guard

* refactor(infra): use canonical record guard
2026-07-29 11:43:36 +02:00
Peter Steinberger
1755087bca docs: add grep-discoverability naming rules for agents 2026-07-27 16:27:30 -07:00
Peter Steinberger
abfe7c64a7 docs(install): recommend Node 26 as the OpenClaw runtime (#114399)
* docs(install): recommend Node 26; CI/installer stay on Node 24 for now

* feat(cli): point unsupported-runtime nvm hint at Node 26

* feat(install): provision Node 26 by default (brew mainline node formula, NodeSource 26.x, portable win zip)

* test(install): align installer tests with Node 26 provisioning defaults

* docs(install): state per-platform Node provisioning accurately
2026-07-27 04:32:21 -04:00
Peter Steinberger
d4ed57bc88 docs(agents): note null-delimited file lists for tool invocations 2026-07-27 00:29:16 -07:00
Peter Steinberger
94923a1688 docs(agents): add ops telegraph notes for CI dispatch, release logs, and shared checkouts (#114307) 2026-07-27 01:17:38 -04:00
Peter Steinberger
f6131a4fbf build(deps): remove npm shrinkwrap; mirror pnpm lock into transient package locks (#114006)
* build(deps): remove npm shrinkwrap; mirror pnpm lock into transient package locks

npm 12 removed shrinkwrap (command + tarball/root loading). Delete all 82
committed npm-shrinkwrap.json files and stop publishing lockfiles; keep
pnpm-lock.yaml as the single reviewed dependency boundary. The generator
becomes scripts/generate-npm-package-lock.mjs and feeds plugin bundling via
a transient package-lock.json + npm ci (works on npm 11 and 12). Tarball
validation treats the published 2026.7.2 beta train as a shrinkwrap
transition; self-update npm detection now uses install topology instead of
the shipped shrinkwrap.

* fix(deps): repair lint, deadcode, and test-type lanes for the npm 12 migration

- sort integrity comparisons with an explicit comparator (oxlint)
- keep resolveBunGlobalNodeModules module-local (knip unused-export gate)
- model npm pack --json as npm<=11 array / npm 12 name-keyed object
- default calver destructuring in the tarball test fixture
2026-07-26 01:29:55 -04:00
Peter Steinberger
4c5e8f3b85 feat(scripts): add watch-pr-ci CI watcher with mergeable and attach prechecks (#112821)
* feat(scripts): add watch-pr-ci CI watcher with mergeable and attach prechecks

* fix(scripts): require successful attached PR CI run

* fix(scripts): harden watch-pr-ci verdicts against foreign runs and truncated rollups

* fix(scripts): add fresh-run gating to watch-pr-ci attachment

* fix(scripts): guard stale-cancelled verdict against truncated context pages

* fix(scripts): declare rollup context total count

* fix(scripts): sanitize check names and close the final polling interval

* test(scripts): type deadline wait samples
2026-07-22 23:33:45 -04:00
Peter Steinberger
8d1267dbc1 docs(agents): spell out script declaration contract and fail-loud wrapper rule (#112543)
Codex readers only reliably see the root AGENTS.md, so the .d.mts
declaration contract, the wrapper fail-loud convention, and the
stale-node_modules crash signature move from tribal knowledge into the
root file's Commands section.
2026-07-21 23:13:18 -07:00
Peter Steinberger
4e008cd713 feat(ios): adopt Talk voice sessions (#111369)
* feat(ios): adopt Talk voice sessions

* docs(agents): fix unrelated red-main breakage in the landing PR

* chore(i18n): translate Talk voice-session strings across native locales
2026-07-19 06:28:18 -07:00
clawsweeper[bot]
431482ca3e docs(agents): require reading ClawSweeper rank-up moves before landing PRs (#111385)
Co-authored-by: Molty <molty@openclaw.ai>
2026-07-19 05:37:44 -07:00
Peter Steinberger
fa9ae68c34 docs(agents): draft-then-ready PR creation prevents the merge-ref CI race (#110970) 2026-07-18 22:41:10 +01:00
Peter Steinberger
6d5ebac0b1 docs(agents): additive SQLite surfaces skip schema-version bumps 2026-07-18 10:27:27 -07:00
Peter Steinberger
a54a292d62 test(ui): fix Node 25+ localStorage crashes in jsdom suites; document PR-open CI drops (#110812)
* test(ui): shim dead Node 25+ WebStorage localStorage in jsdom test setup

Node 25+ ships a default-on global localStorage that is dead without
--localstorage-file (undefined on 26.5; throwing or inert elsewhere). It
shadows jsdom's Storage during vitest global population, so storage-touching
UI tests crash on newer local Node while Linux CI (Node 24) passes — six
files failed locally on Node 26.5. The shared setup now capability-probes
(round-trip, throw-safe), prefers jsdom's own window Storage when only the
global alias is dead, and otherwise installs one in-memory Storage on both
window and globalThis.

Also documents the PR-open CI drop pattern in AGENTS.md: fresh PRs race
GitHub's merge-ref computation and the open-event CI run can drop or die
as startup_failure/BuildFailed (not rerunnable); verify attach and
close/reopen to re-fire.

* fix(test): drop unnecessary String() conversions in localStorage shim
2026-07-18 18:19:44 +01:00
Peter Steinberger
2ca4d92f1a docs: live-test gateway isolation policy (session-owned dev gateway, operator approval for real instances) 2026-07-17 17:55:33 -07:00
Peter Steinberger
cc0b8479d9 docs: require approval for SQLite schema bumps 2026-07-17 06:11:51 +01:00
Peter Steinberger
523c07d20e docs(agents): add correct-but-pragmatic code guidance
Two Code-section bullets: correctness on real inputs is mandatory but
over-engineering for imagined ones is a defect; extremely unlikely edge
cases are tradable for real simplification when the tradeoff is named.
2026-07-17 02:24:41 +01:00
Peter Steinberger
333409908d docs: define SecretRef failure isolation policy (#109430) 2026-07-16 17:05:20 -07:00
Peter Steinberger
442d6fc94a docs(agents): prefer remote testboxes with trusted local fallback when unavailable 2026-07-16 21:52:58 +01:00
Peter Steinberger
6dc3e6055f docs(agents): note OPENCLAW_BUILD_PRIVATE_QA=1 to build QA Lab/qa-channel into dist 2026-07-16 13:40:46 -07:00
Peter Steinberger
c57d1af958 fix(qa): wait for Matrix config reload (#108214) 2026-07-15 03:31:59 -07:00
Peter Steinberger
40e245856e fix: synchronize gateway dispatch tests before invocation (#108138)
* test(gateway): capture dispatch baseline before invocation

* docs(agents): guard local PR token identity
2026-07-15 01:22:23 -07:00
Peter Steinberger
4f71a2855e test(auto-reply): install channel metadata for group prompt cases (#108113) 2026-07-15 00:43:03 -07:00
Peter Steinberger
d801f2e68c docs: document CI rerun attempt selection (#108095) 2026-07-15 00:12:41 -07:00
Peter Steinberger
18c14abc2a docs: require post-merge recap 2026-07-14 23:48:20 -07:00
Peter Steinberger
c51bb5ed20 test(github-copilot): align token endpoint fixtures (#108047)
* test(github-copilot): align token endpoint fixtures

* docs: refresh generated docs map
2026-07-14 23:25:49 -07:00
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
ec5a6d83ef docs: note bounded maintainer invocations (#107830)
* docs: note bounded maintainer invocations

* docs: note exact run filtering
2026-07-14 16:20:10 -07:00
Peter Steinberger
59dea92da1 docs: note gh pr diff stat limitation (#107819)
* docs: note gh pr diff stat limitation

* docs: note yielded exec session handling
2026-07-14 15:55:58 -07:00
Peter Steinberger
80fed99d08 docs(agents): record invocation guards (#107757) 2026-07-14 13:46:48 -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
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
ca83f1ca51 fix(ci): restore release validation after runtime migrations (#107371)
* test(ci): repair plugin prerelease validation

* test(zalo): preserve adapter narrowing in sender helpers

* test(ci): track current bundled startup metadata

* fix(google-meet): refresh plugin shrinkwrap
2026-07-14 03:52:44 -07:00
Peter Steinberger
625d859938 test(ci): harden scheduled release probes (#107272)
* test(ci): harden scheduled release probes

* docs(agents): record testbox warmup failure

* test(wizard): avoid Promise executor return
2026-07-14 01:48:10 -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
044392684b test(release): repair scheduled E2E regressions (#107173)
* test(release): repair scheduled E2E regressions

* test(release): refresh generated protocol bindings

* docs(agents): harden remote proof invocations
2026-07-13 23:49:36 -07:00
Peter Steinberger
61986571bb fix(plugins): forward-port bundled SDK fallback hardening (#107131)
* fix(plugins): avoid bundled SDK fallback races

* fix(ci): satisfy plugin SDK LOC ratchet

* fix(ci): align fallback forward-port guards

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-13 21:50:46 -07:00
Peter Steinberger
be5558cb4e fix(plugin-sdk): preserve runtime contexts in test mocks (#107059)
* test(plugin-sdk): make runtime context mock stateful

* docs(agents): record Testbox invocation contracts
2026-07-13 21:21:09 -07:00
Peter Steinberger
8a66398b2b fix(release): harden validation orchestration (#106873)
* fix(release): harden validation orchestration

* fix(ci): repair release gate regressions

* docs(agents): record PR review guard mode

* test(ci): stabilize release gate coverage

* refactor(agents): remove session factory test export
2026-07-13 17:53:10 -07:00
Vincent Koc
85cf09a3e1 docs(release): bound release recovery loops (#106852)
* docs(release): keep release work scoped

* style(release): format workflow test
2026-07-14 06:44:23 +08:00
Peter Steinberger
b4343426f1 docs: make CI polling sparse (#106821) 2026-07-13 14:19:54 -07:00
Peter Steinberger
668e5e8096 refactor: split config reply dispatch (#106642)
* docs: relax refactor issue and CI gates

* refactor: split config reply dispatch

* test: allow ACP dispatch startup under parallel load

* refactor: keep dispatch helper types private
2026-07-13 11:12:32 -07:00