Commit Graph

1866 Commits

Author SHA1 Message Date
Peter Steinberger
80bcfa1796 feat(linux): deb/AppImage packaging, claw-mark brand icons, gateway auth guidance (#106533)
* feat(linux): package deb/AppImage bundles, claw-mark icons, foreign-gateway guidance

* fix(linux): pin pnpm dlx release-age for tauri-cli in packaging paths

* fix(linux): pin exact tauri-cli version under the release-age gate

* fix(linux): conditional wording for gateway auth-rejection guidance

* docs(linux): executable square-pad step in tray icon recipe
2026-07-13 09:22:12 -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
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
0bab08510e feat: Linux desktop companion app with auto-install, Gateway lifecycle, and Control UI window (#106352)
* feat(linux): add Tauri desktop companion app and openclaw dashboard --json

* test(dashboard): assemble fake token fixture to satisfy secret scanners

* test(dashboard): avoid secret-scanner-shaped mock factory line

* fix(linux): actionable error when installed CLI predates dashboard --json

* docs: regenerate docs map for linux platform heading change
2026-07-13 05:17:27 -07:00
Peter Steinberger
4b6575636f fix(ci): finalize control UI locale artifacts 2026-07-13 12:12:51 +01:00
Peter Steinberger
e2ed58efec fix(ci): publish native generated locales 2026-07-13 11:41:15 +01:00
Peter Steinberger
6bb85f177f feat(onepassword): optional 1Password secrets broker plugin (#106133)
* feat(onepassword): add optional 1Password secrets broker plugin

Curated slug registry with per-item auto/approve/deny policy, plugin-approval
gating with expiring allow-always grants, SQLite audit history, onepassword
status/audit CLI, and a single-attempt op client (--cache=false, minimal env).

Closes #105924

* docs(plugins): refresh generated inventory count after rebase

* fix(onepassword): scope grants and field reads

* fix(onepassword): bound grant retention

* fix(onepassword): satisfy deadcode ratchet and hook allowlist contract

* fix(onepassword): honor live policy reloads

* refactor(onepassword): trim private exports

* test(onepassword): satisfy plugin boundaries

* test(onepassword): document temp directory boundary
2026-07-13 03:12:47 -07:00
Peter Steinberger
d38fc3e2f0 fix(ci): keep Periphery scope checks off shared API quota (#106090)
* fix(ci): avoid API quota in Periphery scope checks

* fix(ci): preserve Periphery scope contracts
2026-07-13 01:47:43 -07:00
Peter Steinberger
b1ce84b079 ci: reduce Blacksmith registrations for pull requests (#106146) 2026-07-13 01:32:25 -07:00
Peter Steinberger
0ab7e2569b fix(ci): preserve pinned manual checkout 2026-07-13 03:42:26 -04:00
Peter Steinberger
afdc29c3dd fix(ci): reduce release validation polling load (#106139)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-13 15:32:27 +08:00
Jason (Json)
3375e30d9c chore(ci): remove TypeScript LOC ratchet (#106096)
Remove the hard 500-line TypeScript LOC ratchet from CI and local check planning, along with its package commands, implementation, baseline, and dedicated tests. Keep the remaining pull-request temp-creation report on its own pr-base fetch.\n\nVerification: 99 focused tooling tests; actionlint; zizmor; workflow guards; exact-head autoreview.
2026-07-13 00:15:00 -06:00
Paul Campbell
008f04a656 feat(mxc): add Windows MXC sandbox backend (#97086)
* feat(mxc): add Windows MXC sandbox backend

Add the official MXC sandbox plugin package with Windows ProcessContainer execution, plugin-owned MXC SDK dependency packaging, host-backed filesystem bridge support, and configured MXC policy file loading via mxcPolicyPaths.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(mxc): preserve Windows binary override paths

* fix: remove stray sandbox barrel export

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9ea19539-b8ca-44fb-93bd-b8496e3deb2c

* fix(mxc): address sandbox review feedback

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mxc): satisfy test type checks

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mxc): clarify protected skill enforcement

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test(mxc): align fail-closed expectations

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mxc): satisfy extension lint

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(plugin-sdk): narrow fs-safe remove surface

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(mxc): repair rebased CI failures

* fix(scripts): declare shrinkwrap override normalizer

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Gio Della-Libera <235387111+giodl73-repo@users.noreply.github.com>
Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-07-12 23:07:25 -07:00
Peter Steinberger
aa04722c5c fix(ci): make TypeScript LOC growth reviewable (#105952) 2026-07-12 23:06:30 -07:00
Vincent Koc
f33ab243cf fix(sqlite): reject runtimes vulnerable to WAL corruption (#106065)
* fix(sqlite): require WAL-reset-safe Node runtime

* docs(sqlite): document safe Node runtime floor

* fix(sqlite): defer runtime library validation until use

* fix(ci): align startup memory with Node 24.15
2026-07-13 13:59:00 +08:00
Vincent Koc
6a0eecdb44 fix(release): separate code and release SHA validation (#105948) 2026-07-13 13:38:19 +08:00
Peter Steinberger
dce8eed0b9 ci(deadcode): restore enforced unused-export ratchet (#105826)
* ci(deadcode): restore export ratchet

* chore(deadcode): refresh export baseline

* refactor(sessions): remove obsolete patch writer

* refactor(deadcode): classify current export residue

* fix(deadcode): preserve exported signature types

* chore(deadcode): sync export baseline after rebase

* chore(deadcode): classify pairing test exports

* fix(ci): refresh plugin SDK declaration budget
2026-07-12 19:58:38 -07:00
Peter Steinberger
c3dbaf4375 refactor: split hot TypeScript modules and add LOC ratchet (#105894)
* refactor: split high-churn agent and chat modules

* ci: enforce TypeScript LOC ratchet

* ci: anchor LOC baseline updates to merge base

* test: cover LOC ratchet check plans

* chore: refresh TypeScript LOC baseline
2026-07-12 19:57:42 -07:00
Peter Steinberger
e01d1e85f3 ci(swift): enforce shared OpenClawKit dead-code coverage (#105770)
* ci(swift): enforce shared kit dead-code coverage

* chore(i18n): sync native source inventory

* ci(swift): install pinned iOS scan tools
2026-07-12 17:35:47 -07:00
Vincent Koc
37807242c9 fix(release): pin publish workflow refs (#105773) 2026-07-13 08:15:35 +08:00
Vincent Koc
13212f1a4d fix(release): accept canonical plugin package identities (#105746) 2026-07-13 07:45:31 +08:00
Peter Steinberger
2264816f1d ci(macos): add enforced periphery dead-code lane and delete the 12 current findings (#105743)
* refactor(macos): delete dead code flagged by periphery

* ci(macos): add enforced periphery dead-code lane

* fix(ci): scope-label the periphery skip message

* chore(i18n): sync native inventory line coordinates
2026-07-12 16:39:15 -07:00
Vincent Koc
55f438e295 fix(release): handle empty ClawHub bootstrap plan (#105722)
* fix(release): handle empty ClawHub bootstrap plan

* fix(release): handle empty ClawHub bootstrap plan
2026-07-13 06:55:23 +08:00
Vincent Koc
2c06dfdd2f fix(ci): keep unused exports advisory (#105704)
* fix(ci): preserve frozen deadcode contracts

* fix(ci): keep unused exports advisory
2026-07-13 05:47:05 +08:00
Vincent Koc
bf81e589ac fix(ci): bound Telegram gateway diagnostics (#105645) 2026-07-12 22:02:22 +02:00
Peter Steinberger
67d7bf1037 ci(release): deduplicate Telegram routing proofs (#105613) 2026-07-12 21:07:24 +02:00
Peter Steinberger
a425807c31 ci(deadcode): replace broken export report lanes with enforced knip exports ratchet (#105595)
* chore(deadcode): add generated knip unused-export baseline

* ci(deadcode): replace broken export report lanes with enforced knip exports ratchet

* chore(deadcode): regenerate unused-export baseline on current main

* chore(deadcode): regenerate unused-export baseline on current main
2026-07-12 11:36:42 -07:00
Peter Steinberger
1634d849c7 fix(ci): allow empty success diagnostics (#105569)
* fix(ci): allow empty success diagnostics

* docs(agents): guard non-main PR landing
2026-07-12 18:57:42 +01:00
Peter Steinberger
d5fd7ad6ff ci(release): parallelize runtime parity tiers (#105545) 2026-07-12 18:23:41 +01:00
Peter Steinberger
7c5b66a1e4 fix(ci): wait for Telegram credential capacity (#105535)
* fix(ci): wait for Telegram credential capacity

* test(ci): align Telegram credential wait contract
2026-07-12 18:19:13 +01:00
Peter Steinberger
c41326e320 fix(ci): retain safe Telegram trace milestones (#105521) 2026-07-12 17:37:14 +01:00
Peter Steinberger
7517a62386 fix(ci): capture live Telegram model proof (#105499) 2026-07-12 16:47:40 +01:00
Peter Steinberger
eaedcdcd4e fix(ci): retain Telegram candidate diagnostics (#105472)
* fix(ci): retain Telegram candidate diagnostics

* fix(ci): stream redacted Telegram diagnostics
2026-07-12 16:10:41 +01:00
Peter Steinberger
eb9bd4e457 fix(ci): retain failed Telegram QA evidence (#105367)
* fix(ci): retain failed Telegram QA evidence

* docs(agents): clarify gh jq boundary

* docs(agents): require full checkout SHAs

* docs(agents): quote zsh Git object refs
2026-07-12 14:09:07 +01:00
Peter Steinberger
42d34eb4c8 fix(ci): pass Telegram target ref to identity gate (#105362) 2026-07-12 13:32:27 +01:00
Peter Steinberger
b1fcd7c178 fix(ci): keep LTS Telegram QA model compatible (#105348)
* fix(ci): keep LTS Telegram QA model compatible

* fix(ci): probe Telegram QA model contract

* style(ci): format Telegram QA contract test

* docs(agents): note review checkout order

* docs(agents): clarify rg option order
2026-07-12 13:18:37 +01:00
Peter Steinberger
22f183f8cb ci: isolate legacy QA smoke invocations (#105340)
* ci: isolate legacy QA smoke invocations

* docs(agents): record PR review recommendation
2026-07-12 12:52:31 +01:00
Vincent Koc
1389d7ee88 ci(performance): restore proven Kova evaluator (#105314) 2026-07-12 13:35:59 +02:00
Peter Steinberger
e864155d74 ci(performance): accept disabled gateway health proof (#105324) 2026-07-12 12:22:13 +01:00
Peter Steinberger
eb2669cefd ci(performance): accept optional Kova cleanup evidence (#105292) 2026-07-12 11:53:09 +01:00
Peter Steinberger
a20314d6cc ci: preserve frozen Android build contract (#105299) 2026-07-12 11:48:02 +01:00
Peter Steinberger
7bb59c4511 ci: pin release validation Go toolchain (#105270) 2026-07-12 11:02:04 +01:00
Peter Steinberger
265ca345a1 ci: pin frozen iOS formatter (#105242)
* ci: pin frozen iOS formatter

* docs: clarify release CI dispatch

* ci: preserve frozen iOS formatter path

* style: format CI workflow guard
2026-07-12 10:49:26 +01:00
Peter Steinberger
4efe056d32 fix(ci): stop Telegram release checks from fetching history (#105219)
* fix(ci): bound Telegram provenance lookups

* docs(agents): note linked worktree invocations
2026-07-12 10:18:39 +01:00
Peter Steinberger
d79373fa14 ci: bound legacy QA smoke compatibility (#105213) 2026-07-12 10:15:33 +01:00
Peter Steinberger
acc57e4145 ci: isolate frozen Control UI tests (#105208) 2026-07-12 10:06:23 +01:00
Peter Steinberger
f84b6f6091 test(release): harden shared UI and performance proof (#105061)
* ci(perf): pin PID-aware Kova evaluator

* test(ui): follow localized automation labels

* ci(perf): pin compatible Kova runner

* test(ui): bound chat hover browser wait

* docs(agents): require release validation helper

* ci(perf): retain redacted Kova reports

* style(ui): format chat hover test

* docs(agents): avoid dependency scripts in PR worktrees

* docs(agents): guard shared checkout branches

* docs(agents): quote gh api query endpoints
2026-07-12 09:55:21 +01:00
Peter Steinberger
91ca35ba58 ci: make locale parity advisory before release (#105140) 2026-07-12 09:11:57 +01:00
Vincent Koc
ac69e5008c fix(ci): avoid stale workflow rate limits (#105117)
* fix(ci): throttle stale issue locking

* fix(ci): throttle stale issue locking
2026-07-12 16:03:24 +08:00
Vincent Koc
efdce6754d fix(ci): align scheduled e2e checks with sqlite sessions 2026-07-12 15:22:37 +08:00