Commit Graph

533 Commits

Author SHA1 Message Date
Shakker cd5ec0027c docs: keep maintainer leads hands-on (#121225) 2026-08-09 21:25:34 +01:00
Peter Steinberger a3e79236aa fix(state): preserve rollback across additive columns (#121075)
* fix(state): tolerate compatible additive columns

Preserve same-version rollback compatibility for bare nullable SQLite columns while continuing to reject constrained schema drift. Treat the historical shared_host CHECK definition as a named compatibility boundary.\n\nRefs #121061

* fix(state): keep additive registry internal

* test(state): keep constrained preflight fixture
2026-08-09 08:29:19 -07:00
Peter Steinberger c70aee247e refactor(scripts): migrate JavaScript tools to TypeScript (#121005)
* refactor(scripts): migrate JavaScript tools to TypeScript

* fix(ci): keep changed-scope preflight zero-install

* fix(ci): preserve zero-install script owners

* fix(ci): complete script migration follow-through

* fix(release): keep stable closeout zero-install

* fix(scripts): preserve standalone execution boundaries

* fix(scripts): repair standalone loader boundaries

* fix(scripts): normalize gateway observation ids

* fix(scripts): keep Docker packager standalone

* test(scripts): preserve rebase cleanup helpers

* test(sessions): use tracked temp directory
2026-08-09 07:21:35 -07:00
Peter Steinberger 428c00a0a2 docs: prefer token-based user-attachments upload for PR/issue media
Replace the artifact-store-first guidance with the direct
uploads.github.com/user-attachments endpoint (same CDN as drag-and-drop,
works with gh auth token); Crabbox artifact publishing stays as the
fallback for non-media artifacts or endpoint failure.
2026-08-08 20:05:37 -07:00
Peter Steinberger 7492f6937c docs(agents): replace exact-head re-review gate with 12-hour review window 2026-08-08 10:50:18 -07:00
Peter Steinberger 00a5db443a refactor: remove obsolete commit helper 2026-08-06 18:10:10 -07:00
Ayaan Zaidi ed8d1e71d1 docs(agents): require exact-head ClawSweeper re-review after post-review pushes (#119069)
The no-round-trip clause from #111385 covered the unchanged-head case; once rank-up moves are applied the old comment attests stale code. Head unchanged: land without re-review, as before. Head changed after review: one exact-head re-review, land when no actionable finding and no remaining rank-up move.
2026-08-04 08:22:03 +05:30
Peter Steinberger 0839f12ccd docs: add pathfinder rule, LOC review metric, and test-duplication clause to AGENTS.md (#118330) 2026-08-02 18:11:29 -07:00
Peter Steinberger 577f2f45fb docs(agents): drop stale packages/ scoped-guide reference 2026-08-01 22:18:00 -07:00
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