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