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
Peter Steinberger
04fa6beed4
fix(release): make closeout recovery shell-safe ( #107015 )
2026-07-13 20:02:45 -07:00
Peter Steinberger
130480871e
perf(test): reuse live updater Git fixture ( #106975 )
2026-07-13 19:26:47 -07:00
Peter Steinberger
568e4d95e7
fix(release): keep verifier output valid and deterministic ( #106953 )
...
* fix(release): validate changelog before atomic write
* fix(release): defer optional provenance main lookup
* fix(release): suppress overridden release PR subjects
* fix(release): satisfy verifier lint
* test(release): declare verifier suppression helper
---------
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-13 19:25:01 -07:00
Vincent Koc
f7ea3c776c
fix(ci): pin corrected Kova scenario calibration ( #106992 )
2026-07-14 10:23:58 +08:00
Peter Steinberger
6e067f7662
test: restore moving-main quality gates ( #106972 )
...
* test(agents): preserve caught abort cause
* refactor(browser): privatize route handler type
* test(lint): cover browser route override
2026-07-13 19:06:30 -07:00
Peter Steinberger
48eebe090f
fix(testing): make changed-gate bundles self-contained
2026-07-13 19:03:31 -07:00
Peter Steinberger
4645a850d5
fix(testing): omit changed-gate history from bundles
2026-07-13 18:50:35 -07:00
Peter Steinberger
9668b668c5
fix(testing): preserve changed-gate diagnostics
2026-07-13 18:50:35 -07:00
Peter Steinberger
c4c72aa086
fix(testing): reset reused changed-gate worktrees
2026-07-13 18:50:35 -07:00
Peter Steinberger
23c19510b1
perf(test): skip irrelevant suppression ASTs ( #106928 )
2026-07-13 18:03:06 -07:00
Vincent Koc
e5722a6726
fix(ci): pin calibrated Kova release budgets
2026-07-13 17:54:41 -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
Peter Steinberger
b4c311e51b
fix(release): keep frozen package inventory self-contained ( #106886 )
...
* fix(release): keep frozen package inventory self-contained
* fix(release): declare frozen inventory helper
2026-07-13 17:15:32 -07:00
Peter Steinberger
3dd7322d22
test: ignore ESRCH during process cleanup ( #106880 )
2026-07-13 17:13:16 -07:00
joshavant
cac32bb5d1
fix(ios): declare Health update purpose
2026-07-13 19:12:21 -05:00
Peter Steinberger
4fdb314d9a
fix(release): normalize Windows checksum manifests
2026-07-14 00:27:34 +01:00
Peter Steinberger
34c63c3c3a
fix(release): support evidence-backed late closeout
2026-07-14 00:27:34 +01:00
Josh Avant
2e6fd00871
fix(android): release screenshots stall on gateway scene ( #106884 )
...
* chore(android): prepare 2026.7.2 Play release
* fix(android): unblock gateway release screenshots
2026-07-13 18:26:59 -05: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
0f9cc945e3
fix: Windows installer fails after winget installs Node.js ( #106862 )
...
* fix(installer): recover winget Node path
* docs(changelog): note winget installer recovery
2026-07-13 15:43:19 -07:00
Peter Steinberger
4e689a219d
test: speed async lifecycle and parity coverage ( #106605 )
...
* test: speed up async lifecycle suites
* test: stabilize async speedups
* test: remove duplicated provider auth parity suite
2026-07-13 15:40:16 -07:00
Peter Steinberger
70833dab7f
ci: scope PR Node tests to changed targets ( #106633 )
...
* ci: scope PR Node tests to changed targets
* ci: bound targeted Node test plans
* test: cover changed path manifest input
* fix(ui): preserve model providers lazy boundary
* ci: cover public SDK re-export consumers
* ci: reject unresolved changed test targets
* ci: cover public SDK wrapper imports
* ci: preserve global checks in targeted plans
* docs(ci): clarify targeted boundary coverage
* test(plugins): declare computed runtime dependencies
2026-07-13 15:26:02 -07:00
Peter Steinberger
856e1ab8d9
fix(ci): bind release target context ( #106836 )
2026-07-13 15:00:03 -07:00
Peter Steinberger
d1bb38345e
ci: preserve release target context ( #106783 )
2026-07-13 14:32:59 -07:00
Peter Steinberger
f1331bcea2
build(knip): model agent sessions SDK entry ( #106807 )
2026-07-13 13:58:03 -07:00
Peter Steinberger
d1684f48a3
refactor: delete dead infra and config exports ( #106019 )
...
* refactor: delete dead infra and config exports
* refactor: preserve live infra and config contracts
* refactor(config): remove obsolete file-store lifecycle APIs
* refactor(infra): finish current-main dead export cleanup
2026-07-13 12:00:47 -07:00
Peter Steinberger
40b119f57a
refactor(build): run generated formatter through oxfmt bin
2026-07-13 11:44:28 -07:00
Peter Steinberger
59003634ad
refactor(cron): retire cron_run_logs; ledger-owned retention and cancellation
...
Stops the legacy run-log dual-write, auto-imports remaining rows and drops
the table at state-DB open (table-presence guard: self-heals downgrade
round-trips), keeps the newest 2000 terminal runs per job in the ledger,
retires cron.runLog config via doctor, and moves live-run cancellation to
src/cron behind the shared task control seam.
Part 2 of 2 for #106041 .
2026-07-13 11:41:27 -07:00
Peter Steinberger
b842be157a
chore(cron): decompose oversized modules for the changed-file LOC ratchet
...
Extracts startup-run repair, timer outcome finalization, task record
normalization, legacy task-sidecar row codec, and state-schema helpers
into focused modules; exempts .generated.d.ts files from the ratchet
(policy gap: schema evolution regrows generated Kysely types).
2026-07-13 11:32:57 -07:00
Peter Steinberger
8814e75cd6
perf(ci): start long node shards first ( #106522 )
2026-07-13 09:56:30 -07:00
Peter Steinberger
7a0efada74
improve: speed up lifecycle tests ( #106501 )
...
* test: remove fixed waits from lifecycle tests
* test: harden cron process liveness probe
2026-07-13 09:14:04 -07:00
Peter Steinberger
0e96fc7e10
refactor(agents): trim bootstrap test exports ( #106427 )
...
* refactor(agents): trim bootstrap test exports
* test(agents): isolate bootstrap cache cases
2026-07-13 07:24:33 -07:00
Peter Steinberger
458746e1c2
chore(ci): enforce changed-file TypeScript LOC ratchet ( #106387 )
...
* ci: enforce changed-file TypeScript LOC ratchet
* ci: derive release-gate LOC base from PR
* test(ci): exclude repository test helpers from LOC ratchet
* ci: validate LOC ratchet on PR merge tree
* style: format release maintainer skill
* ci: run LOC ratchet for fast-only changes
* fix(ci): harden LOC ratchet comparisons
* fix(ci): cover native TypeScript in LOC ratchet
* fix(ci): compare LOC against tested merge tree
* test(ci): cover LOC manifest routing
2026-07-13 07:20:32 -07:00
Peter Steinberger
507038c456
refactor: split oversized test suites ( #106354 )
...
* refactor: split oversized test suites
* test: classify split modules as test utilities
* test: preserve bundled routing after suite splits
* style: format unit-fast routing import
* test: preserve owner routing for split suites
2026-07-13 07:01:08 -07:00
Peter Steinberger
26312fd0b0
refactor: remove gateway and channel dead exports ( #106038 )
...
* refactor: remove gateway and channel dead exports
* style: format config reload test
* refactor: remove newly dead gateway exports
* test: preserve approval audience coverage
* refactor: preserve gateway contracts while pruning exports
* test: retain gateway regression coverage
* test: restore gateway policy coverage
* test: close dead-export CI gaps
* fix: reconcile dead exports with latest main
* refactor: remove newly dead gateway runner export
* test: remove private worker verifier coverage
* test: preserve weak secret docs coverage
* fix: avoid gateway health import cycle
* fix: preserve node pairing type contract
* style: format talk relay test
* fix: preserve gateway protocol generation contract
* chore: refresh dead export baseline
* fix: preserve loaded target compatibility exports
* fix: preserve plugin SDK declaration resolution
* chore: refresh dead export baseline
* chore: refresh dead export baseline
* test(gateway): derive private worker service options
2026-07-13 05:47:05 -07:00
Peter Steinberger
882b2fe900
feat(channels): bundle Reef guarded claw-to-claw channel ( #106232 )
...
* feat(channels): bundle Reef guarded claw-to-claw channel
Moves the Reef channel extension from openclaw/reef into the bundled extensions tree with the wire protocol vendored under extensions/reef/protocol. Includes channelConfigs manifest metadata, runtime status reporting via setStatus/buildAccountSnapshot, abort-aware inbox shutdown, monotonic device-auth timestamps, and immutable-model guard admission (dated snapshots plus documented gpt-5.6 ids).
* fix(reef): pin zod exactly per dependency pin guard
* style(reef): satisfy extension lint gates
Curly braces in vendored protocol, explicit type re-exports, typed catch callbacks, Object.assign over map-spread, abort-aware loop restructure.
* fix(reef): CI gates — knip workspace, boundary tsconfig, facade imports, cycle break, contract baselines
- knip: reef workspace project includes vendored protocol/ (owns noble deps)
- tsconfig: conform to canonical extension package-boundary include/exclude; add @openclaw/plugin-sdk devDependency
- imports: channel-inbound/channel-outbound facades instead of deprecated subpaths
- protocol: home ReplayStore contract in envelope.ts to break the envelope<->replay type cycle
- baselines: reef in unguarded runtime-api list; regenerate bundled channel config metadata
* feat(reef): plugin catalog cover art, channel label, changelog revert
* fix(reef): drop unused error-class exports, register lint suppression
* fix(reef): knip entry surface for vendored protocol, explicit WebSocketLike export
2026-07-13 05:17:44 -07:00
Peter Steinberger
644bc79ed1
perf(ui): enforce build performance budgets ( #106367 )
2026-07-13 05:07:18 -07:00
Peter Steinberger
418dd85e66
improve: speed up focused test execution ( #106307 )
...
* test: speed up focused test execution
* style: format vitest config test
* test: preserve targeted watch routing
2026-07-13 04:38:05 -07:00
Peter Steinberger
4b6575636f
fix(ci): finalize control UI locale artifacts
2026-07-13 12:12:51 +01:00
Peter Steinberger
4dd839c462
refactor(release): split cross-os checks ( #106309 )
2026-07-13 04:01:40 -07:00
Peter Steinberger
e2ed58efec
fix(ci): publish native generated locales
2026-07-13 11:41:15 +01:00
Peter Steinberger
3a9e750939
fix(pr): fail closed on paginated file errors ( #106254 )
2026-07-13 03:40:53 -07:00
Peter Steinberger
2aa4ff0825
refactor: consolidate duplicate helper exports ( #106016 )
...
* refactor(normalization): consolidate string helpers
* refactor(normalization): consolidate agent ids
* refactor(paths): consolidate user path resolution
* refactor(gateway): preserve transcript helper facade
* fix(normalization): align helper build aliases
* fix(memory): keep helper import line neutral
* chore(plugin-sdk): align consolidated helper surface
* refactor(normalization): reuse lowercase string helper
* refactor(normalization): reuse record guard
* refactor(normalization): share surrogate boundary helper
* refactor(agents): share token estimate constant
* refactor(memory): distinguish standalone helper contracts
* refactor(normalization): share error cause formatter
* refactor(config): distinguish eligibility predicates
* refactor(plugins): share registry state symbol
* refactor(cli): reuse outbound dependency adapter
* refactor(cron): distinguish positive duration parser
* fix(gateway): keep transcript helper private
* fix(paths): preserve public helper status
* refactor(channels): reuse registry normalizer
* refactor(agents): reuse agent core runtime facade
* refactor(auth): reuse locked profile upsert
* refactor(records): distinguish trap-safe guard
* refactor(migrations): distinguish sync directory helper
* test(plugins): drop stale duration alias expectations
* fix(channels): remove stale registry import
* chore(plugin-sdk): refresh helper API baseline
* fix(memory): keep renamed helpers private
* fix(plugins): keep registry state key private
* fix(plugin-sdk): tighten wildcard surface budget
* chore(plugin-sdk): refresh rebased helper API baseline
2026-07-13 03:22:00 -07:00
Peter Steinberger
a2da4700be
refactor: consolidate remaining bounded concurrency ( #106265 )
2026-07-13 03:16:28 -07:00
Vincent Koc
e474ba38e8
fix(sqlite): serialize offline maintenance with gateway ( #106210 )
2026-07-13 18:15:32 +08:00
Peter Steinberger
f355f6afbb
fix(installer): pass SQLite probe over stdin ( #106252 )
2026-07-13 03:13:14 -07:00