Commit Graph

1692 Commits

Author SHA1 Message Date
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
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
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
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
Peter Steinberger
096cb91175 feat(tooling): enforce noUncheckedIndexedAccess in core and ui lanes (NUIA phase 3c) (#104981)
* fix(ui): make indexed access explicit across the Control UI

Burns down all 322 ui-lane noUncheckedIndexedAccess errors: untrusted
markdown/diff/patch parsing gets miss-tolerant guards (renderer rules
degrade to empty output instead of throwing mid-render), accumulators
use canonical sparse initialization, DOM lookups stay null-guarded, and
length-checked constructions carry named invariants.

* feat(tooling): enforce noUncheckedIndexedAccess in the core and ui lanes

Flips the flag on for tsconfig.core.json and tsconfig.ui.json (covering
src, all packages including the two deferred ones, and ui) and retires
the strict-ratchet lane wholesale: config, script, projects reference,
check/CI wiring, changed-lane routing, and sync test. The assertion-ban
oxlint override stays as an independent surface.
2026-07-12 06:36:36 +01:00
Peter Steinberger
176647aa84 ci: gate frozen QA smoke by capability (#105006) 2026-07-12 06:32:26 +01:00
Peter Steinberger
b163dbb97d ci: harden current and frozen release checks (#104956)
* test(qa): wait for complete process pid fixture

* style(qa): format pid readiness predicate

* test(sqlite): allow schema version pragma

* ci: install target playwright for frozen UI checks
2026-07-11 22:08:49 -07:00
Peter Steinberger
5b29c37137 ci: accept trusted unsigned release merge heads (#104838) 2026-07-11 20:42:03 -07:00