Commit Graph

598 Commits

Author SHA1 Message Date
Firas Alswihry
a9eaf0c993 test(qa-lab): add personal no-fake-progress scenario (#83824)
Summary:
- The PR adds a personal-agent QA-Lab no-fake-progress scenario, registers it in the personal-agent pack, teaches mock-openai the scripted path, and updates focused tests, docs, and changelog.
- Reproducibility: not applicable. This PR adds QA coverage rather than reporting a current-main bug; the branch supplies concrete after-patch QA-Lab/mock-openai commands and copied pass output.

Automerge notes:
- PR branch already contained follow-up commit before automerge: test(qa-lab): add personal no-fake-progress scenario

Validation:
- ClawSweeper review passed for head 95d2e46288.
- Required merge gates passed before the squash merge.

Prepared head SHA: 95d2e46288
Review: https://github.com/openclaw/openclaw/pull/83824#issuecomment-4483439200

Co-authored-by: Firas Alswihry <itzfiras@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-19 01:16:00 +00:00
Peter Steinberger
59defa3e71 ci(release): fix beta validation gates 2026-05-19 01:05:52 +01:00
Peter Steinberger
c1579b7727 chore: bump release version to 2026.5.19 2026-05-18 23:11:42 +01:00
clawsweeper[bot]
70f580041f test(qa-lab): add personal share-safe diagnostics scenario (#83717)
Summary:
- Adds a personal-agent QA-Lab share-safe diagnostics scenario with mock-openai support, pack registration/tests, docs, and changelog coverage.
- Reproducibility: not applicable. This PR adds a new QA-Lab scenario rather than fixing a current-main bug. T ... ce PR provides a clear after-patch validation path using qa-channel, a real gateway child, and mock-openai.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 46eb0af9e4.
- Required merge gates passed before the squash merge.

Prepared head SHA: 46eb0af9e4
Review: https://github.com/openclaw/openclaw/pull/83717#issuecomment-4480393933

Co-authored-by: Firas Alswihry <itzfiras@gmail.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
2026-05-18 18:56:25 +00:00
Vincent Koc
cb408bb06b fix(release): repair broad gate regressions 2026-05-19 01:31:25 +08:00
Firas Alswihry
46c622aa3b test(qa-lab): add dreaming shadow trial report scenario 2026-05-19 00:44:39 +08:00
Peter Steinberger
4f4d108639 chore(lint): remove underscore-dangle allow list (#83542)
* chore(lint): reduce underscore-dangle exceptions

* chore(lint): reduce more underscore exceptions

* chore(lint): remove underscore-dangle allow list

* fix(lint): repair underscore cleanup regressions

* test(lint): track version define suppression
2026-05-18 14:56:06 +01:00
Firas Alswihry
94c012b2ec test(qa-lab): add personal task followthrough scenario 2026-05-18 14:35:03 +08:00
Vincent Koc
532a6a7a89 test(qa): add gateway heap checkpoints 2026-05-18 13:41:35 +08:00
Vincent Koc
2bf5e5f20d fix(qa): report discord scenario rtt 2026-05-18 13:41:35 +08:00
Vincent Koc
20ec5cdc42 test(qa): trace gateway rss in suite summaries 2026-05-18 13:41:35 +08:00
Vincent Koc
fc16df30dd fix(qa): preserve redacted discord rtt timestamps 2026-05-18 13:41:35 +08:00
Ayaan Zaidi
cd15ce35a0 fix(qa): keep telegram user creds mantis-only 2026-05-18 10:04:58 +05:30
Vincent Koc
1300b22630 fix(qa-lab): classify runtime token efficiency 2026-05-18 11:09:08 +08:00
Vincent Koc
4dec9679e6 fix(qa-lab): gate missing runtime tool coverage 2026-05-18 11:00:20 +08:00
Vincent Koc
58e1351863 fix(qa-lab): hard gate runtime tool coverage 2026-05-18 10:05:04 +08:00
Gio Della-Libera
9a5f2f61e7 Doctor: add health-check contract and --lint validation (#80055)
* feat(doctor): add --lint mode + structured HealthFinding shape

Adds the core machinery for `openclaw doctor --lint` per the
doctor-lint-and-oc-rules upstream proposal. PR-1 of the proposal:
no new top-level verb, no public plugin SDK; everything internal.

Files:
- src/flows/checks.ts ? HealthFinding / HealthCheck / HealthCheckContext
   types. Findings carry severity per-finding; checks return
   readonly HealthFinding[]. Mode tag (doctor/lint/fix) lets a check
   distinguish the calling posture.
- src/flows/health-check-registry.ts ? module-level registry with
   duplicate-id rejection + test reset helper.
- src/flows/doctor-lint-flow.ts ? runner over registered checks.
   Catches throws into synthetic error findings (anchored at check id;
   message scrubbed of control chars, capped at 256 bytes). Sorts
   findings by severity desc, check id, path. Exports
   exitCodeFromFindings (1 if any warning/error, 0 otherwise).
- src/flows/doctor-core-checks.ts ? 4 modern HealthChecks rewriting
   logic from existing legacy run*Health functions:
     core/doctor/gateway-config            (warning)
     core/doctor/command-owner             (info)
     core/doctor/workspace-status          (info)
     core/doctor/final-config-validation   (error)
   Each was audited safe per the proposal's adapter constraints
   (no writes, no repair calls, no prompts, no probes incl. local-bind).
   Legacy run*Health contributions in doctor-health-contributions.ts
   are unchanged ? doctor mode (no --lint) still runs the existing 35.
- src/commands/doctor-lint.ts ? CLI dispatch for --lint. Reads config
   snapshot, builds HealthCheckContext (mode: "lint"), runs the registry,
   filters by --severity-min, emits human or JSON output, returns exit
   code from unfiltered set so --severity-min hides info findings
   without changing CI signal.
- src/cli/program/register.maintenance.ts ? adds --lint, --json,
   --severity-min, --skip, --only flags to existing doctor command.
   --lint branches to runDoctorLintCli; without --lint, doctor runs
   unchanged.

LoC: 382 src across 6 files. Tests + doc + oc-path-side rule packs
follow as separate commits on this branch.

* fix: avoid string spread in doctor errors

* chore: refresh plugin SDK API baseline

* docs: clarify doctor lint usage

* feat(doctor): prepare repairs for dry-run reporting
2026-05-17 12:29:57 -07:00
Peter Steinberger
af62fd45cd test: stabilize release qa gates 2026-05-17 17:45:58 +01:00
Peter Steinberger
6ebc5e4719 test: harden release qa edge scenarios 2026-05-17 17:26:37 +01:00
Vincent Koc
79212f9869 feat(qa-lab): select runtime parity tiers 2026-05-18 00:21:13 +08:00
Peter Steinberger
4c60ab3666 test: extend release qa wait windows 2026-05-17 17:05:15 +01:00
Vincent Koc
9249e13891 test(qa-lab): sync personal pack expectation 2026-05-17 23:56:18 +08:00
Vincent Koc
b764396dee fix(qa-lab): differentiate mock provider plans 2026-05-17 23:44:35 +08:00
Firas Alswihry
45a434fb23 test(qa-lab): add personal approval denial scenario 2026-05-17 23:33:09 +08:00
Vincent Koc
1926982c4c fix(qa-lab): refresh parity model targets 2026-05-17 23:12:26 +08:00
Peter Steinberger
833f1ce735 test: finish fanout responses followup 2026-05-17 15:42:46 +01:00
Vincent Koc
66b8de9c83 fix(qa-lab): preflight live codex auth 2026-05-17 22:39:00 +08:00
Peter Steinberger
aaf85166de test: complete mock fanout followup 2026-05-17 15:31:59 +01:00
Peter Steinberger
7554deef30 test: retry transient Slack live timeouts 2026-05-17 15:11:41 +01:00
Peter Steinberger
f0fc8c27d3 test: settle Slack gateway handoff 2026-05-17 15:02:40 +01:00
Peter Steinberger
ef763d0f0b test: ignore unrelated Slack no-reply observations 2026-05-17 14:55:22 +01:00
Peter Steinberger
395346fe57 test: wait for stable Slack live readiness 2026-05-17 14:47:48 +01:00
Peter Steinberger
2ab76240d3 test: align qa docker UI dist assertion 2026-05-17 14:39:27 +01:00
Peter Steinberger
798833140d test: fix WhatsApp live readiness typing 2026-05-17 14:08:06 +01:00
Vincent Koc
d3a7348ad9 fix(qa-lab): keep bootstrap tokens private 2026-05-17 21:05:01 +08:00
Peter Steinberger
5fc6b714a6 test: extend live transport stability windows 2026-05-17 13:54:57 +01:00
Peter Steinberger
22723b6f1e test: harden live transport gates 2026-05-17 13:41:04 +01:00
Vincent Koc
9bb5f5af0d fix(qa-lab): fail live parity without token usage 2026-05-17 20:38:10 +08:00
Peter Steinberger
3b39ff4318 test: tolerate degraded live transport state 2026-05-17 13:25:23 +01:00
Vincent Koc
9b62a35760 fix(qa-lab): expose redacted qa bus tool traces 2026-05-17 20:18:48 +08:00
Peter Steinberger
f74b302dc2 test: harden live QA transport validation 2026-05-17 13:16:02 +01:00
Peter Steinberger
0aae5ba077 test: retry WhatsApp QA driver observation timeouts 2026-05-17 12:32:46 +01:00
Peter Steinberger
8f59a370aa test: harden live QA retry handling 2026-05-17 12:23:19 +01:00
Vincent Koc
7d6e45ef7c fix(qa-lab): clean orphaned gateway runtimes 2026-05-17 19:10:46 +08:00
Peter Steinberger
7bf4dfeff3 test: harden live QA transport probes 2026-05-17 12:08:45 +01:00
Vincent Koc
cfb032797f fix(qa-lab): wake stale cursor long polls 2026-05-17 17:33:47 +08:00
Vincent Koc
37dcf385e5 fix(qa): expose codex tools for runtime parity 2026-05-17 17:20:12 +08:00
Vincent Koc
1f9d8c1e9d fix(qa-lab): wire tool coverage report command 2026-05-17 17:12:10 +08:00
Vincent Koc
d217fd7a92 test(qa-lab): add runtime tool fixtures 2026-05-17 16:55:50 +08:00
Vincent Koc
2547e35b0a test(qa-lab): add harness sentinel scenarios 2026-05-17 16:19:58 +08:00