Peter Steinberger
bf99e43ee7
refactor: consolidate full release child workflows ( #117385 )
2026-08-01 12:14:23 -07:00
Vincent Koc
a164d9c477
chore: merge main into Docker portability fix
...
* origin/main: (26 commits)
fix(update): return failure when dirty checkout blocks update (#117452 )
fix(auto-reply): apply mixed chat directives in one session transaction (#117542 )
refactor(ui): unify channel status and setup controls (#117499 )
fix(doctor): preserve surviving lint selections (#117543 )
fix(media): keep an unquoted MEDIA path with spaces as one media item (#112464 )
refactor(channels): consolidate lightweight plugin discovery (#117541 )
fix(imessage): prevent duplicate messages after delayed sends (#110853 )
refactor(memory): unify authoritative dreaming state and presentation (#117538 )
refactor(agents): consolidate main-session recovery ownership (#117383 )
fix(proxy-capture): make path-based session cleanup atomic (#98852 )
refactor(agents): consolidate compaction and context-engine ownership (#117482 )
fix(gateway): preserve Responses usage details (#117533 )
perf(gateway): skip empty session recovery stores (#117498 )
fix(ci): update canonical Kova performance pin (#117508 )
fix(system-agent): emit the wizard cancel hint once per message (#113731 )
refactor: dedupe secrets runtime snapshot fixtures (#117502 )
test(google): cover ready callback close precedence
test(openai): dedupe realtime voice fixtures (#117503 )
fix(google): flush lazy prompts on provider readiness
fix(gateway): keep canonical hooks on pristine startup path (#117493 )
...
2026-08-02 02:20:18 +08:00
Vincent Koc
ace5d9ada7
fix(ci): update canonical Kova performance pin ( #117508 )
2026-08-02 01:28:23 +08:00
Vincent Koc
e3c16ac65c
chore: merge main into Docker portability fix
...
* origin/main: (27 commits)
fix(plugins): compare authoring metadata by canonical JSON semantics (#117486 )
fix(doctor): reject contradictory lint check selectors (#117495 )
fix(anthropic): honor configured model pricing (#117275 )
refactor(plugins): reuse scoped loader for capability discovery (#117373 )
refactor(test): derive changed tooling routes (#117407 )
fix(kova): clarify extension memory attribution (#117500 )
fix(imessage): sanitize private context on every outbound path (#117501 )
fix(ci): align release validation fixtures (#117494 )
fix(talk): preserve owner authorization in realtime consults (#114163 )
fix(ui): surface aborted-run diagnostics (#117497 )
perf(models): skip Ollama row runtime loading (#117465 )
fix(cli): report user profile command outcomes (#117466 )
fix(active-memory): detect Chinese recall intent in escalate mode (#117338 ) (#117419 )
fix(workboard): ignore caller-supplied archivedAt when creating a card (#116412 )
fix(models): avoid waiting on promotions before listing models (#117322 )
refactor(plugins): inherit shared package boundary settings (#117474 )
fix(systemd): parse all inline environment assignments (#117484 )
feat(web-fetch): add tools.web.fetch.headers for operator request headers (#115545 )
fix(qa): Slack progress lane misses successful delivery (#117391 )
refactor: deduplicate Codex prompt snapshot fixtures (#117476 )
...
2026-08-02 01:01:00 +08:00
Vincent Koc
b38bcd93d7
fix(kova): clarify extension memory attribution ( #117500 )
2026-08-02 00:41:35 +08:00
Vincent Koc
263741b1f0
fix(ci): align release validation fixtures ( #117494 )
...
* fix(release): align beta 6 e2e fixtures
* fix(doctor): preserve missing state startup signal
* test(release): align beta e2e contracts
* test(agents): use canonical empty auth store
* test(agents): isolate prompt cooldown scheduling
* test(release): align main validation fixtures
* test(release): accept Code Mode plugin tool evidence
* fix(test): repair release validation checks
* test(cron): assert structured session targets
2026-08-02 00:39:36 +08:00
Omar Shahine
5db7e1c4ec
fix(talk): preserve owner authorization in realtime consults ( #114163 )
...
* feat(talk): forward realtime consult sender auth
* docs(talk): clarify realtime sender auth contract
* ci: constrain oxlint on hosted runners
* ci: split oxlint core on hosted runners
---------
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
2026-08-01 09:37:17 -07:00
Peter Steinberger
faaeebe208
refactor: deduplicate Codex prompt snapshot fixtures ( #117476 )
2026-08-01 09:02:43 -07:00
Vincent Koc
c61388a0e0
test(docker): make line count assertion portable
2026-08-02 00:01:30 +08:00
Vincent Koc
93d99bbb08
fix(release): allow beta validation child completion ( #117463 )
...
* fix(release): allow beta validation child completion
* test(release): align package timeout contract
2026-08-01 23:43:07 +08:00
Peter Steinberger
e7950d968b
refactor(state): inline canonical database schemas at build ( #117433 )
2026-08-01 08:39:42 -07:00
Dallin Romney
f1f53f49b3
fix(release): accept legacy Codex follow-through delivery ( #117458 )
...
* fix(release): accept legacy Codex follow-through delivery
* docs(release): explain extended-stable Codex validation
2026-08-01 23:30:47 +08:00
Peter Steinberger
9e43844264
build: generate native Canvas resources on demand ( #117424 )
2026-08-01 08:16:56 -07:00
Peter Steinberger
6affe7cf54
fix: harden plugin import-boundary guards and remove dead scanner ( #117386 )
...
* fix: harden plugin import-boundary enforcement
* fix: exclude generated bundles from plugin source guards
* fix: make plugin boundary scanner linear and complete
2026-08-01 07:49:56 -07:00
Peter Steinberger
deabae48d3
fix(ci): keep PTY tests observable and wait for completed turns ( #117405 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-01 07:46:46 -07:00
Peter Steinberger
385f1dee16
docs: generate docs map at publish time ( #117398 )
...
* docs: generate docs map at publish time
* fix: canonicalize Docker pack entry path
* fix: preserve package lifecycle ownership
2026-08-01 07:01:43 -07:00
Dallin Romney
40e1ce6dc3
fix(qa): satisfy update lane execution contracts ( #117388 )
2026-08-01 21:28:14 +08:00
Peter Steinberger
b5a59e0a7d
refactor(docker): consolidate E2E scenario helpers ( #117359 )
...
* refactor(docker): consolidate E2E scenario helpers
* fix(ci): retain release harness entry
* test(docker): complete package helper fixture
2026-08-01 05:48:28 -07:00
Peter Steinberger
8738fe1354
refactor(codex): deduplicate generated protocol schemas ( #117382 )
2026-08-01 05:32:37 -07:00
Peter Steinberger
142ad75c43
refactor: compact database-first legacy store guard ( #117347 )
2026-08-01 05:07:21 -07:00
Peter Steinberger
cd4bd7c6c0
fix(tui): cancel buffered submissions on shutdown [AI-assisted] ( #117331 )
...
* fix(tui): cancel buffered submissions on shutdown
* refactor(tui): preserve callable submit coalescer
* test(tui): run local PTY smoke against built CLI
2026-08-01 05:00:05 -07:00
Vincent Koc
2d545c16c3
fix(ci): use corrected Kova release evaluator ( #116920 )
2026-08-01 19:44:38 +08:00
Dallin Romney
6baf4dd15f
fix(release): validate candidates before Docker publication ( #117252 )
...
* fix(release): validate candidates before Docker publication
* fix(release): complete Docker publication gates
* fix(release): serialize Docker publication
2026-08-01 16:08:49 +08:00
Vincent Koc
f5a8cb02ea
test(release): repair full validation regressions ( #116931 )
...
* test(discord): mock thread delete listener
* test(qa): expect blocked update evidence
* test(telegram): preserve recovered context body
* fix(test): configure kitchen-sink personality
* test(browser): expect canonical staged upload paths
* test(browser): canonicalize macOS download roots
* test(feishu): seed legacy session rows offline
* test(telegram): isolate message context session stores
* test(qqbot): expect canonical media paths
* test(anthropic): match canonical transcript paths
* test(qa): expect canonical session store keys
* test(gateway): isolate rewind media reads
* test(release): review plugin child spawns
* test(plugins): expect process-stable manifest metadata
* test(google): retire usage telemetry contracts
2026-08-01 15:42:50 +08:00
Peter Steinberger
137050cedd
perf(update): reuse dev preflight build cache ( #117246 )
2026-07-31 22:59:44 -07:00
xingzhou
1f40646f7e
fix(board): prevent emoji corruption in event notices ( #111702 )
...
* fix(board): preserve Unicode notice boundaries
* test(board): document surrogate boundary
* test(pr): isolate wrapper command inventory
2026-07-31 22:57:11 -07:00
Vincent Koc
6922ddd936
fix(qa): isolate runner discovery facades ( #117203 )
2026-08-01 13:40:11 +08:00
Dallin Romney
947886e764
fix(qa): align release harness contracts ( #116812 )
2026-08-01 13:24:10 +08:00
Peter Steinberger
45c2d5911a
refactor(i18n): remove unused Apple contradiction report ( #117182 )
2026-07-31 20:36:52 -07:00
Sasan
6938f7dddb
fix: allow gateway service commands for named profiles ( #116314 )
...
* fix: gateway service commands refuse a named profile or relocated OPENCLAW_HOME
- Resolve the default install identity against the canonical state directory
for the active OpenClaw home and profile instead of the unprofiled OS
account default.
- `--profile <name>` / `--dev` project `.openclaw-<profile>` state and config
paths, so every named profile was classified as isolated state and refused
`install`, `start`, `stop`, `restart`, `uninstall`, Doctor service repair,
and self-update service handling.
- `OPENCLAW_HOME` relocates all OpenClaw path defaults and is documented for
running as a dedicated service user; a relocated home is now an install
identity. `HOME` alone still is not.
- An `OPENCLAW_STATE_DIR` or `OPENCLAW_CONFIG_PATH` pointing outside those
canonical paths is still treated as isolated state.
- Recovery guidance in the refusal message now names the paths that must match.
Verified: focused vitest shards for the changed suites plus the daemon, CLI,
and doctor suites that consume the identity check; tsgo core and core-test
lanes; oxlint; docs format, MDX, link, and map checks.
* fix(gateway): keep relocated homes isolated
* fix(config): validate service profile identity
* fix(daemon): enforce named-profile service ownership
* fix(update): reject drifted service selectors before probes
* test(windows): prove scheduled task lifecycle
* test(windows): harden scheduled task proof cleanup
* test(windows): bind lifecycle proof to checkout
* test(windows): normalize cleanup exit status
* test(windows): verify effective task privilege
* test(windows): protect scheduled task proof roots
* test(windows): prove listener-owned task lifecycle
* test(windows): fix scheduled task proof contracts
* test(windows): remove redundant mock coercions
* test(windows): measure fallback before task probes
* test(windows): prove scheduled task process origin
* fix(gateway): preserve unmanaged restart fallback
* test(gateway): cover denied restart ownership
* test(gateway): keep restart helper types private
* test(gateway): classify lifecycle helpers as test code
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-01 11:28:39 +08:00
Peter Steinberger
7e78de747b
refactor(ui): replace duplicated locale bundles with canonical translation memory ( #117157 )
...
* refactor(ui): generate locale bundles from canonical translation memory
* fix(ui): keep server-only locale config out of browser test helpers
2026-07-31 19:40:27 -07:00
Vincent Koc
89aadef6ef
feat(plugins): externalize iMessage channel ( #117101 )
2026-08-01 08:01:18 +08:00
Peter Steinberger
2fcb47ad1e
refactor(test): derive changed-test routes from canonical owners ( #117099 )
...
* refactor(test): derive changed-test routes from canonical owners
* fix(test): type workflow owner descriptors for lint
2026-07-31 16:40:46 -07:00
Peter Steinberger
433bb3f954
fix(cli): make commands, completion, and JSON output reliable ( #116033 )
...
* fix(cli): make commands, completion, and JSON output reliable
* fix(cli): reconcile completion coverage with current main
* test(cli): keep test routing stable across isolation lanes
2026-07-31 16:20:34 -07:00
Vincent Koc
61fb29e90a
feat(plugins): externalize OpenCode Go provider ( #117064 )
2026-08-01 06:31:19 +08:00
Vincent Koc
a26f6c8374
fix(test): avoid macOS release gate deadlocks ( #116972 )
...
Fix macOS test harness deadlocks in workflow and release evidence fixtures.
2026-08-01 06:19:23 +08:00
Jason (Json)
ae27d79364
fix(updater): harden launchd replacement timing ( #117030 )
...
* fix(updater): harden launchd replacement timing
* fix(updater): recover failed launchd replacement
2026-07-31 16:02:00 -06:00
Peter Steinberger
21fba83254
fix: live updater no-op restarts healthy gateways ( #117038 )
...
* fix(updater): route managed health through overlay
* style: format live updater probe
* test: align live updater readiness types
2026-07-31 14:34:14 -07:00
Vincent Koc
e73250f54b
feat(plugins): externalize OpenCode provider ( #117035 )
...
* feat(plugins): externalize OpenCode provider
* docs: refresh OpenCode provider map
2026-08-01 05:07:35 +08:00
Peter Steinberger
d66b514a7e
fix: allow slower gateway readiness after updates ( #117032 )
2026-07-31 13:38:06 -07:00
Vincent Koc
e84e2a49fc
feat(plugins): externalize NovitaAI provider ( #117007 )
2026-08-01 03:53:46 +08:00
Vincent Koc
8b93fd963c
feat(plugins): externalize Mistral provider ( #116919 )
...
* feat(plugins): externalize Mistral provider
* fix(update): preserve external provider models during repair
* chore(release): keep Mistral note in PR body
2026-08-01 03:04:12 +08:00
Vincent Koc
a1026663ae
feat(plugins): externalize ComfyUI provider ( #116888 )
2026-07-31 23:26:51 +08:00
Vincent Koc
b45ca07ec9
fix(ci): keep full release validation aligned with runtime state ( #116653 )
...
Align Telegram artifact reuse and packaged Docker validation with current GitHub Actions and runtime state contracts. Refresh affected regression fixtures and isolate test state.
2026-07-31 23:03:02 +08:00
Vincent Koc
e93de36081
feat(plugins): externalize BytePlus provider ( #116866 )
2026-07-31 22:37:47 +08:00
Vincent Koc
a4b8ec7890
fix(ci): require fresh untrusted Crabbox leases
2026-07-31 22:28:20 +08:00
Vincent Koc
51988ee066
fix(ci): keep workload fallback provider-neutral
2026-07-31 22:28:20 +08:00
Vincent Koc
c630e4aec3
fix(ci): restore Crabbox routing type contracts
2026-07-31 22:28:20 +08:00
Vincent Koc
89e4ef2ab7
fix(ci): preserve routing failure diagnostics
2026-07-31 22:28:20 +08:00
Vincent Koc
3cf0de893e
fix(ci): clarify broker recovery guidance
2026-07-31 22:28:20 +08:00