Skip to content

probe: reopen capability test - #2

Closed
sunlit-deng wants to merge 5319 commits into
mainfrom
probe/reopen-test
Closed

probe: reopen capability test#2
sunlit-deng wants to merge 5319 commits into
mainfrom
probe/reopen-test

Conversation

@sunlit-deng

Copy link
Copy Markdown
Owner

temporary diagnostic PR, will be closed

steipete and others added 30 commits August 5, 2026 09:22
…9645)

* refactor(agents): unify media generation task lifecycles

* fix(agents): defer media duplicate guard lookup until action execution
…ext (openclaw#116247)

* fix(system-agent): a failed reset leaves the old conversation in context

`openclaw.chat` with `reset: true` discards the live session and disposes its
engine before verifying inference and building the welcome. The durable reset
marker was only written after both of those steps, so an inference outage during
a reset destroyed the session without recording the boundary. The next ordinary
session then seeded model context from the pre-reset transcript, because seeding
reads only the turns after the newest reset marker.

Record the boundary in a finally around the disposal, so it survives both a
rejected disposal and a replacement that fails to initialize, and drop the later
write. Disposal still runs first, so a failed marker write cannot leak the engine.

* fix(system-agent): persist resets before discarding live sessions

Persist the durable reset marker before deleting the live session so a failed SQLite write leaves the session, engine, and pending approval untouched. Preserve the original real-SQLite privacy-boundary regression coverage.

Co-authored-by: Masato Hoshino <g515hoshino@gmail.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Prevent stale top-level buttons arguments from silently sending text-only Telegram messages. Point model guidance and docs to typed presentation actions, and reject retired input before delivery.
…19619)

* perf(anthropic): lazy-load session catalog runtime

Punchcard-Session: coral-workshop-workshop-3f

* fix(anthropic): keep session catalog helpers private

Punchcard-Session: coral-workshop-workshop-3f

* docs(plugin-sdk): document catalog create target

Punchcard-Session: coral-workshop-workshop-3f

* fix(plugins): continue catalog target selection

Punchcard-Session: coral-workshop-workshop-3f
…rs (openclaw#119654)

* fix(browser): propagate bounded navigation timeouts end to end

* fix(browser): share shipped navigation limits across all drivers
* fix(qa): bound Matrix E2EE client shutdown

Punchcard-Session: silver-valley-valley-dt

* fix(qa): drain Matrix decryptions before SDK shutdown

Punchcard-Session: silver-valley-valley-dt

* fix(matrix): retire shared E2EE clients safely

Punchcard-Session: silver-valley-valley-dt

* fix(matrix): satisfy lifecycle lint gate

Punchcard-Session: silver-valley-valley-dt
Why: managed discussion reconciliation must tolerate current ClickClack response shapes without persisting undefined plugin state or stale display titles.

Co-authored-by: Chisel <chisel@psiclawops.dev>
* fix(video): validate DashScope task outputs and release request guards

* fix(video): validate DashScope task outputs and release request guards

* refactor(video): use shared empty-asset validation

* fix(video): align DashScope Wan request contracts

* refactor(video): use shared empty-asset validation

* fix(video): enforce catalog modes before provider calls

* fix(video): keep model checks fallback-aware

* fix(video): centralize fallback-aware capability checks

* docs(video): document Wan 2.7 fixed audio

---------

Co-authored-by: Peter Steinberger <steipete@macos.shared>
Keep shared endpoint routing signal-aware while preserving explicit signal-specific URLs exactly. Cover the resolver through mocked constructors and real OTLP/HTTP trace, metric, and log exporters.

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
* fix(agents): apply image context to current turn

* fix(agents): align runtime context with prompt order

* fix(agents): make turn context position independent

* fix(agents): bind internal context to the active user turn

Keep current-turn runtime context position-independent while preserving the shared privacy notice, runtime events, prompt-cache placement, and historical preface sanitization. Consolidate header detection in its existing owner and retain the original real turn-boundary regression.

Fixes openclaw#110672

Co-authored-by: chernoff-code <221717140+chernoff-code@users.noreply.github.com>

---------

Co-authored-by: chernoff-code <221717140+chernoff-code@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
…claw#119632)

* refactor(msteams): consolidate channel action target resolution

* fix(msteams): honor configured group read policy

* fix(msteams): explain delegated channel access recovery
…law#119560)

* improve(ui): trail transient session status

* fix(ui): swap running state for row actions on hover

* fix(ui): reserve only visible sidebar state width

* fix(ui): ensure actions override state spacing

* test(ui): await activated service-worker controller
…9676)

* fix(memory): defer startup manager warmup

* test(plugins): register memory stop hook contract
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
…uote a short tool send (openclaw#118178)

The forward substring check in isMessagingToolDuplicateNormalized treated any
reply containing a prior message-tool send as a duplicate, with no length
floor. A short interim update sent via the message tool then suppressed the
entire final reply that restated it, and the user never received the answer.
The reverse direction already carried a 0.5 length ratio floor. Apply the same
floor to the forward direction so a reply is only deduped when the prior send
covers at least half of it.
…aw#119695)

* fix(browser): make device emulation transitions atomic

* test(browser): verify device presets in packaged profile

* fix(browser): retain page emulation overrides
Punchcard-Session: coral-workshop-workshop-3f
…w#119705)

* fix(diagnostics): preserve otel service shutdown lifecycle

* test(diagnostics): type OTEL unsubscribe callback

* test(diagnostics): normalize async stop assertion

* fix(plugins): preserve ordinary stop handling
Punchcard-Session: silver-valley-valley-dt
…law#119726)

* fix(agents): preserve settled finalization evidence

* fix(agents): retain cron denial after finalization
vincentkoc and others added 19 commits August 7, 2026 15:27
…0165)

* fix(gateway): degrade session list during projection rebuild

* test(gateway): reuse projection rebuild fixture
…0137)

* fix(test): restore gateway startup environment

* fix(test): centralize gateway startup env cleanup

* test(gateway): restore live startup environment

* fix(test): complete gateway startup env lifecycle

* test(gateway): restore raw server owner environment

* test(qa): restore gateway producer environment
…me (openclaw#120029)

* fix(acpx): stop/start races cannot resurrect a stopped runtime backend

The deferred acpx runtime service published its lazily started backend without
lifecycle ownership checks: a stop during in-flight activation let the stale
service become the active runtime, and stop cleared shared state while startup
still used it. Start/stop now use a lifecycle revision; only the current
revision may publish a runtime, stop invalidates every deferred proxy before
awaiting in-flight startup, and restart waits for the previous stop to settle.

* chore: re-fire CI

* fix(acpx): fence deferred runtime ownership

* refactor(acpx): centralize backend lifecycle ownership

* fix(acpx): annotate deferred runtime cycle
…ensation (openclaw#120026)

* fix(plugins): preserve multi-entry pack identity and safe install compensation

Multi-entry plugin packs registered every entry under the single manifest id,
so only one entry survived registry normalization; discovery now records an
entry-scoped effectivePluginId that the manifest registry honors. Managed
install compensation no longer silences runtime cache invalidation on the
success path, and local linked installs never delete operator-owned source
directories on persistence failure.

* fix(plugins): reject colliding derived entry ids in multi-entry packs

ClawSweeper P1: ./a/index.ts and ./b/index.ts both derived pack/index and one
entry silently lost same-root dedupe. Colliding entries now emit an error
diagnostic naming the sources and register no candidate; docs note the
entry-scoped plugins.entries key for multi-entry packs.
… stops masking failures (openclaw#120027)

* fix(daemon): reload systemd user manager after removing legacy units

uninstallLegacySystemdUnits removed unit files without a daemon-reload, so the
user manager kept the deleted unit definitions loaded and startable until an
unrelated reload. Legacy-unit removal now reuses the shared
disable-or-tolerate-missing helper, surfaces non-ENOENT unlink failures instead
of swallowing them, and reloads the user manager once after any unit file was
removed (matching uninstallUserSystemdGatewayUnit).

* chore: re-fire CI

* chore: re-fire CI against fixed main baseline
…message (openclaw#120031)

* fix(outbound): preserve queued delivery custody on provider abort without send evidence

A provider-side abort with no platform send evidence acked the durable queue
entry (dropping the message) whenever no producer claim id existed. Send
evidence is now computed once (delivered results, pre/post-send marks,
sentBeforeError, stable outcomes); aborts with evidence keep the
platform_send failure path, aborts without evidence preserve the queued
entry as failed for retry unless the operator's own abort signal fired.

* chore: re-fire CI

* chore: re-fire CI against fixed main baseline
…aw#119325)

* feat(models): add session-only model selection

* fix(models): use trailing session scope option

* test(models): satisfy session scope lint

* fix(models): reject duplicate model options

* fix(models): clarify default and session scope

* fix(models): require complete session option tokens

* fix(models): report configured default dispatch

* fix(models): keep directive handler within lint limit

* fix(models): parse model options in either order

* fix(models): apply session scope to aliases

* fix(models): align alias scope with reply routing

* fix(discord): surface model selection scope in picker

* fix(models): preserve mixed-text model selection

* fix(models): centralize command selection ownership

* fix(models): align session scope lifecycle

* fix(models): preserve command and auth ownership

* fixup! fix(models): preserve command and auth ownership

* fix(auth): preserve scoped CLI provider discovery

* test(models): align result and cron fixtures

* test(models): nest result timing metadata

* fix(discord): narrow silent dispatch results

* fix(transcript): preserve admitted turn identity

* fix(context-engine): fence the admitted transcript turn

* fix(context-engine): stabilize plugin compatibility contract

* chore(plugin-sdk): refresh context engine API baseline

* chore(plugin-sdk): use Linux context engine API baseline

* fix(context-engine): align fallback ownership

* fix(fallback): scope auth skip cache by profile

* fix(context-engine): settle only accepted fallback turns

* refactor(sessions): issue canonical turn admissions

* refactor(context-engine): own logical turn advancement

* fix(context-engine): settle cron fallback winners

* fix(models): align picker and fallback transactions

* fix(delivery): notify block admission after queueing

* fix(sessions): preserve canonical admission receipts

* chore(plugin-sdk): refresh API baseline hash

* fix(context-engine): commit accepted turns durably

* fix(context-engine): validate durable host transitions

* fix(context-engine): preserve fallback turn ownership

* fix(context-engine): preserve queued turn order

* fix(models): preserve fallback retry ownership

* fix(context-engine): enforce durable transcript anchors

* fix(runtime): close fallback persistence gaps

* fix(context-engine): preflight fallback harnesses

* chore(plugin-sdk): use Linux API baseline

* fix(context-engine): drain durable commits before reads

* fix(models): scope harness auth failures by profile

* fix(codex): fence legacy transcript history

* fix(commands): honor suppressed directive interpretation

* chore(runtime): remove unused branch exports

* test(context-engine): derive private outbox payload type

* fix(context-engine): apply durable drain degradation

* fix(context-engine): recover durable turn intents

* fix(context-engine): settle durable turn intents

* refactor(context-engine): satisfy branch quality gates

* fix(context-engine): close durable recovery gaps

* fix(discord): preserve dropped model command outcome

* test(copilot): keep journal fixture types local

* fix(auto-reply): preserve model alias provenance

* fix: close model scope review gaps

* fix(models): close review-found scope leaks

* fix(review): satisfy branch line budgets

* fix(agents): preserve context engine turn facts

* fix(agents): finalize silent context turns

* fix(context-engine): preserve compatibility window

* test(agents): cover both harness preparations

* fix(context-engine): retain blocked turn advancements

* fix(models): parse compact runtime options

* fix(telegram): report runtime resets accurately

* fix(models): isolate automatic auth failure skips

* fix(context-engine): project commit turn host params

---------

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
…tion as complete (openclaw#120033)

* fix(install): Windows installer surfaces doctor migration failures

Invoke-OpenClawCommand ignored the child exit code, so a failed
'openclaw doctor --non-interactive' still printed '[OK] Migration complete'.
The wrapper now throws on nonzero exit and Run-Doctor reports the failure
with the exact command to rerun instead of claiming success.

* chore: re-fire CI

* chore: re-fire CI against fixed main baseline
…ge_stop contract (openclaw#120030)

* fix(ai): enforce message_stop only for direct Anthropic models

The Anthropic SSE transport threw 'stream ended before message_stop' only when
a refusal buffer happened to be non-empty, so a truncated first-party stream
could pass silently while compatible proxy providers that legitimately omit
message_stop failed intermittently. The invariant now keys off the transport
contract owner: direct Anthropic models always require message_stop; proxy
providers are exempt.

* test(ai): cover proxy streams ending without message_stop

ClawSweeper P1: the proxy exemption had no focused test, so the lenient
branch could regress silently. A non-anthropic provider through a custom
endpoint now proves stopReason=stop with no error when the stream ends
without message_stop.
* fix(diagnostics): honor OTEL_SDK_DISABLED

* fix(diagnostics): own OpenTelemetry lifecycle

* fix(diagnostics): keep SDK options private

* test(diagnostics): type async resource export

* fix(diagnostics): preserve OpenTelemetry env defaults

* fix(diagnostics): restore narrow OTEL disabled admission

* fix(diagnostics): surface disabled propagator warnings

* fix(diagnostics): preserve preloaded rejection guard

* fix(diagnostics): probe context manager ownership
* test(gateway): isolate approval client startup

* test(gateway): share manual RPC startup scope
…penclaw#120203)

* fix(gateway): invalidate session lists on external mutations

* test(sessions): cover identity mutation fence
* feat(plugins): support the Agent Plugins bundle format

* docs(plugins): document the Agent Plugins bundle format

* test(agents): preserve agent bundle runtime discovery

* fix(plugins): isolate Agent Plugins data-dir failures and align MCP support reporting

* docs(plugins): list Agent Plugins in the canonical plugin-format guides

* fix(plugins): gate Agent Plugins detection on schema, pure inspection, root-relative cwd

* fix(plugins): record Agent Plugins data-dir ownership explicitly

* docs(plugins): cover Agent Plugins in the CLI install detection guide

* fix(plugins): carry Agent Plugins data-dir and transport contracts through external MCP projections
@sunlit-deng

Copy link
Copy Markdown
Owner Author

probe close

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Dependency Guard

This PR changes dependency-related files. Maintainers should confirm these changes are intentional.

Changed files:

  • extensions/acpx/npm-shrinkwrap.json
  • extensions/acpx/package.json
  • extensions/amazon-bedrock-mantle/npm-shrinkwrap.json
  • extensions/amazon-bedrock-mantle/package.json
  • extensions/amazon-bedrock/npm-shrinkwrap.json
  • extensions/amazon-bedrock/package.json
  • extensions/anthropic-vertex/npm-shrinkwrap.json
  • extensions/anthropic-vertex/package.json
  • extensions/arcee/npm-shrinkwrap.json
  • extensions/baseten/npm-shrinkwrap.json
  • extensions/beam/package.json
  • extensions/brave/npm-shrinkwrap.json
  • extensions/browser/package.json
  • extensions/buzz/package.json
  • extensions/cerebras/npm-shrinkwrap.json
  • extensions/chutes/npm-shrinkwrap.json
  • extensions/clawrouter/npm-shrinkwrap.json
  • extensions/clickclack/npm-shrinkwrap.json
  • extensions/cloudflare-ai-gateway/npm-shrinkwrap.json
  • extensions/codex/npm-shrinkwrap.json
  • extensions/codex/package.json
  • extensions/cohere/npm-shrinkwrap.json
  • extensions/copilot/npm-shrinkwrap.json
  • extensions/cua-computer/package.json
  • extensions/deepinfra/npm-shrinkwrap.json
  • 34 additional dependency-related files not shown

Maintainer follow-up:

  • Review whether the dependency changes are intentional.
  • Inspect resolved package deltas when lockfile, shrinkwrap, or workspace dependency policy changes are present.
  • Treat package-lock.json and npm-shrinkwrap.json diffs as security-review surfaces.
  • Run pnpm deps:changes:report -- --base-ref origin/main --markdown /tmp/dependency-changes.md --json /tmp/dependency-changes.json locally for detailed release-style evidence.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Security-sensitive changes noted

This PR includes security-sensitive file changes. The guard is informational because the PR author is a repository admin or a member of @openclaw/openclaw-secops.

  • Current SHA: 607a006803f6676651f492a623f5795f693267f5
  • Trusted actor: @sunlit-deng
  • Trusted role: pull request author; repository admin

Changed files:

  • .gitignore: Controls ignored secret and local files, including common .env files, before they can be accidentally committed.

Security review is still recommended before merge when the change is intentional.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Dependency graph changes noted

This PR includes dependency graph changes. The dependency guard is informational because the PR author is a repository admin or a member of @openclaw/openclaw-secops.

  • Current SHA: 607a006803f6676651f492a623f5795f693267f5
  • Trusted actor: @sunlit-deng
  • Trusted role: pull request author; repository admin

Security review is still recommended before merge when the dependency graph change is intentional.

@sunlit-deng

Copy link
Copy Markdown
Owner Author

probe done, cleanup

@sunlit-deng sunlit-deng closed this Aug 7, 2026
@sunlit-deng
sunlit-deng deleted the probe/reopen-test branch August 7, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.