Peter Steinberger
7d5fb6f242
test(release): align extension prerelease contracts ( #113381 )
2026-07-25 02:30:35 +08:00
Dallin Romney
9d2d5d111c
test(qa): align Matrix scenario coverage ( #112837 )
2026-07-24 15:05:42 +08:00
Dallin Romney
b48bcde17f
test(qa): retarget WhatsApp access coverage ( #112834 )
2026-07-24 15:04:28 +08:00
joshavant
8287e21445
fix(cron): enforce caps across CLI backends
2026-07-24 01:24:03 -05:00
joshavant
d8f1f098e5
fix(cron): honor explicit authority for senderless runs
2026-07-24 01:24:03 -05:00
Peter Steinberger
acd92f6a3d
chore(deps): refresh repository dependencies ( #112453 )
...
* build(deps): update QA broker dependency
* build(deps): refresh repository dependencies
* build(deps): reconcile rebased shrinkwraps
* test(plugins): remove stale loader test state
* test(deps): stabilize updated dependency coverage
* fix(swift): use caller-isolated TaskLocal overload
* build(deps): regenerate rebased shrinkwraps
* test(msteams): preserve DNS validation in fetch helper
* fix(deps): avoid vulnerable optional image stack
* test(deps): validate generated LRU override
* refactor(ui): extract chat resizable divider
* test(ui): update divider ownership path
* fix(matrix): retain restart-compatible SDK
* style(cron): format update test
2026-07-23 16:17:13 +00:00
Peter Steinberger
525a7f4c96
ci(release): restore full validation after config migrations ( #112740 )
...
* fix(browser): preserve scoped CDP authority policy
* test(release): migrate canonical config fixtures
* ci(release): repair acceptance harness drift
* ci(release): extend Anthropic setup budget
* test(release): align remaining CI contracts
* test(release): align Docker and QA contract tests
* docs(release): preserve validation evidence inputs
* test(plugins): align unprepared metadata reads
* ci(release): separate QA live suite filters
* test(release): bind cron MCP cleanup device
2026-07-23 08:46:55 -04:00
Dallin Romney
19d17bc3c4
refactor(qa): canonicalize runtime-pair lanes ( #112603 )
2026-07-23 10:06:12 +09:00
Dallin Romney
eccf02f04a
fix(qa): apply Matrix thread override in flow setup ( #112815 )
2026-07-23 09:47:27 +09:00
joshavant
c004cac6df
fix(cron): finalize settled announce turns
2026-07-22 06:04:27 -05:00
joshavant
8636bb6981
fix(agents): continue settled empty post-tool turns
2026-07-22 06:04:27 -05:00
Josh Avant
3acc168c4f
fix(cron): persist explicit scheduled tool authority ( #112483 )
...
* fix(cron): persist explicit scheduled tool authority
* test(cron): cover explicit scheduled authority
* fix(cron): preserve legacy authority on routine edits
* test(cron): add explicit authority e2e matrix
* test(cron): harden explicit authority live proof
2026-07-22 02:28:49 -05:00
Dallin Romney
132d91e427
refactor(qa): make taxonomy coverage ids unique ( #110280 )
2026-07-22 16:28:44 +09:00
Peter Steinberger
c24a215fe4
fix: prevent announce restart recovery cascades ( #112534 )
...
* fix(agents): stop announce restart recovery cascades
Reconcile interrupted completion handoffs from existing run and transcript provenance, and keep their CLI, embedded, and Codex execution tool-free.\n\nCo-authored-by: Moeed Ahmed <moeedahmed@users.noreply.github.com >
* chore: preserve prior-art credit
Co-authored-by: Moeed Ahmed <moeedahmed@users.noreply.github.com >
* fix(agents): prefer explicit restart recovery runs
* fix(agents): revalidate announce recovery ownership
* test(agents): consolidate announce recovery cases
* fix(agents): preserve silent announce fallback
---------
Co-authored-by: Moeed Ahmed <moeedahmed@users.noreply.github.com >
2026-07-22 00:05:18 -07:00
Peter Steinberger
591c6ce327
test(cron): honor built-in trigger interval in QA ( #112491 )
2026-07-21 20:36:35 -07:00
Peter Steinberger
edecdbd05e
refactor(config): config-surface reduction tranche 3 — product consolidations (review request) ( #111527 )
...
* refactor(config): consolidate media model lists
* refactor(config): unify memory configuration
* refactor(config): consolidate TTS ownership
* refactor(config): move typing policy to agents
* refactor(config): retire product-level config surfaces
* refactor(config): share scoped tool policy type
* chore(config): refresh generated baselines
* fix(config): honor agent typing overrides
* fix(config): migrate sibling config consumers
* refactor(infra): keep base64url decoder private
* fix(config): strip invalid legacy TTS values
* chore(config): refresh rebased baseline hash
* fix(doctor): route legacy messages.tts.realtime voice to talk during tts move
* refactor(config): polish final layout names
* refactor(config): freeze retired tuning defaults
* feat(config): add fast mode default symmetry
* refactor(config): key agent entries by id
* docs(config): update final layout reference
* test(config): cover final layout migrations
* chore(config): refresh final layout baselines
* fix(config): align final layout runtime readers
* fix(config): align remaining readers
* fix(config): stabilize final layout migrations
* fix(config): finalize config projection proof
* fix(config): address final layout review
* docs(release): preserve historical config names
* fix(config): complete keyed agent migration
* fix(config): close final migration gaps
* fix(config): finish full-branch review
* fix(config): complete runtime secret detection
* fix(config): close final review findings
* fix(config): finish canonical docs and heartbeat migration
* fix(config): integrate latest main after rebase
* refactor(env): isolate test-only controls
* refactor(env): isolate build and development controls
* refactor(env): collapse process identity indirection
* refactor(env): remove duplicate config and temp aliases
* docs(env): define the operator-facing allowlist
* ci(env): ratchet production variable count
* fix(env): remove stale provider helper import
* fix(env): make ratchet sorting explicit
* test(env): keep test seam in dead-code audit
* test(env): cover ratchet growth and boundary; document surface budgets
* docs(config): document tier-eval consolidations
* docs(config): clarify speech preference ownership
* test(memory): align retired tuning fixtures
* refactor(memory): freeze engine heuristics
* refactor(config): apply tier-eval tranche
* refactor(tts): move persona shaping to providers
* refactor(compaction): move prompt policy to providers
* test(config): align hookified prompt fixtures
* chore(deadcode): classify test-only exports
* chore(github): remove unused spawn helper
* chore(deadcode): classify queue diagnostics
* chore(deadcode): remove unused lane snapshot export
* chore(plugin-sdk): ratchet consolidated surface
* fix(config): integrate latest main after rebase
2026-07-21 20:28:43 -07:00
Josh Avant
33720886c8
fix(agents): keep sender-scoped tools in delegated runs ( #110345 )
...
* fix(agents): preserve requester policy across delegation
* fix(agents): keep policy types internal
* test(codex): cover delegated policy forwarding
* fix(agents): harden delegated policy contract
* fix(agents): preserve split-owner completion policy
* fix: version delegated requester snapshots
* fix: refresh delegated policy protocol artifacts
2026-07-20 19:42:06 -05:00
Peter Steinberger
3a85143d97
fix(qa): align ask-user protocol shape ( #111429 )
2026-07-19 07:03:47 -07:00
Peter Steinberger
96c9cc112c
fix(cron): preserve script state and stop stale runs after restart ( #111292 )
...
* fix(cron): preserve script execution boundaries
* chore: keep release changelog unchanged
2026-07-19 01:24:19 -07:00
Marcus Castro
d5cb708623
fix(qa): repair WhatsApp live scenario regressions ( #110754 )
...
* fix(qa): make WhatsApp scenarios account-aware
* test(qa): cover configured WhatsApp SUT account
* refactor(qa): centralize QA target encoding
* fix(qa): configure scenario policies at startup
2026-07-19 01:43:38 -03:00
Peter Steinberger
b96d5cf554
fix(qa): resume channel cursor after gateway restart ( #111096 )
2026-07-18 18:16:14 -07:00
Peter Steinberger
4d683904df
fix(agents): restore ask_user roundtrip in Gateway chats ( #110961 )
...
* fix(agents): restore ask_user channel roundtrip
* test(qa): derive ask_user proof from answers
* test(qa): isolate mock reply directives
* test(qa): wait for complete ask_user reply
* fix(agents): fail closed on stale ask_user prompts
* chore: remove release-owned changelog entry
* fix(agents): satisfy ask_user CI contracts
2026-07-18 22:55:46 +01:00
Dallin Romney
917bec3987
fix(qa): stabilize Matrix maturity scenarios ( #110398 )
2026-07-18 10:46:44 -07:00
Peter Steinberger
d55c91c918
test: add subagent handoff failure diagnostics
...
Related: #110572
2026-07-18 09:50:33 +01:00
Dave Morin
4b3ee5e7eb
feat: let agents remember across private conversations ( #100140 )
...
* feat(memory): remember across private conversations
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com >
* chore(docs): regenerate config baseline
* fix(memory): restore recall configuration wiring
* fix(memory): scope recall transcript indexing
* test(memory): repair conversation recall fixtures
* test(memory): split session visibility coverage
* style(memory): format type imports
---------
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-18 08:21:43 +01:00
Peter Steinberger
b116ae5a43
fix: stop mock Control UI QA from hanging in live suites ( #110481 )
...
* fix(qa): keep transcript boundary scenario mock-only
* fix(qa): filter scenario-pinned provider lanes
* test(qa): narrow transcript scenario execution type
2026-07-18 07:51:58 +01:00
Peter Steinberger
eea38748be
test(ui): cover plan-snapshot replay on reconnect end to end ( #110091 )
...
* test(ui): cover plan-snapshot replay on reconnect end to end
QA follow-up to the plan-replay work: the mock gateway scenario can now
serve an inFlightRun snapshot plus session run state through chat.history
and chat.startup, and a Playwright suite proves the checklist seeds from
the replayed snapshot on load, is replaced in place by a newer live plan
event, clears on the terminal outcome, and survives a mid-run page
reload. Registered as QA scenario control-ui-plan-replay-reconnect.
* test(ui): satisfy plan replay e2e lint
2026-07-18 07:10:15 +01:00
Peter Steinberger
ab0277946d
fix(qa): isolate active memory migration ( #110358 )
2026-07-18 06:50:13 +01:00
Peter Steinberger
85e4bb438d
fix: generated images no longer post twice ( #110366 )
...
* fix(agents): prevent duplicate generated media delivery
* fix(ios): sync reasoning activity translations
* fix(media): preserve malformed parent paths
* fix(media): distinguish network media references
2026-07-18 05:57:45 +01:00
Peter Steinberger
0a5c2d127f
test(qa): acknowledge kitchen sink plugin trust ( #110335 )
2026-07-18 03:47:43 +01:00
Dallin Romney
14caaf3d4c
fix: make live harness planning QA fail closed ( #109282 )
...
* test(qa): prove live harness planning signals
* test(qa): satisfy scenario static checks
* test(qa): scope planning evidence per attempt
* test(qa): derive planning scenarios from coverage
2026-07-17 16:45:57 -07:00
Dallin Romney
a9dc393f7e
test(qa): prove Codex auth product migration ( #109291 )
2026-07-17 16:10:23 -07:00
Peter Steinberger
d957b157e0
fix(cron): queued jobs are lost after Gateway restart ( #110159 )
...
* fix(cron): recover queued runs after gateway restart
* chore: leave release notes to release automation
2026-07-17 23:24:59 +01:00
Dallin Romney
71a02e16af
test(qa): prove gateway package self-upgrade ( #109399 )
2026-07-17 12:26:35 -07:00
Dallin Romney
8924e27bb6
refactor(qa): keep synthetic UX evidence out of scenario catalog ( #109315 )
...
* refactor(qa): keep UX evidence producer out of catalog
* test(qa): preserve UX producer runner integration
2026-07-16 13:51:18 -07:00
Dallin Romney
b5eb8977dc
test(qa): prove Codex cold install product path ( #109267 )
2026-07-16 13:10:41 -07:00
Dallin Romney
9a2f25c82b
refactor(qa): make channel drivers run-level ( #108602 )
2026-07-16 00:59:03 -07:00
Peter Steinberger
7e1d93d36d
refactor(deadcode): enforce full-repository hard zero ( #108717 )
...
* refactor(deadcode): enforce full-repository hard zero
* refactor(deadcode): drop rebased test-support leftovers
* refactor(openai): remove stale TTS test bridge
* test(config): cover bundled tuple baseline merging
* fix(deadcode): reject external Windows paths
* test(config): preserve heterogeneous tuple coverage
2026-07-16 00:16:20 -07:00
Peter Steinberger
de3f7925c4
test(release): harden QA and live validation ( #108589 )
2026-07-15 20:45:36 -07:00
Dallin Romney
2d9b78fff7
refactor(qa): canonicalize live scenario coverage ( #108464 )
2026-07-15 16:50:41 -07:00
Josh Avant
2cc04c205f
fix(qa-channel): bind message actions to authorized targets ( #108433 )
...
* fix(qa-channel): bind message actions to authorized targets
* fix(qa-channel): close target-binding review gaps
* fix(qa-lab): preserve conversation identity in snapshots
* fix(qa-channel): canonicalize scoped targets
* fix(qa-channel): unify target parsing
* fix(qa-channel): close review gaps
2026-07-15 14:36:20 -07:00
Dallin Romney
af71400c8e
refactor(qa): route live channel selectors through suite host ( #108429 )
...
* refactor(qa): route live channel selectors through suite host
* fix(qa): repair live selector CI
* fix(qa): remove retired runner exports
* fix(qa): remove obsolete live evidence
2026-07-15 13:35:34 -07:00
Dallin Romney
77d07dc3e9
refactor(qa): migrate Telegram scenarios into QA Lab ( #108430 )
...
* refactor(qa): migrate Telegram scenarios into QA Lab
* refactor(qa): remove retired Telegram runner exports
2026-07-15 12:55:00 -07:00
morluto
1a34950d9c
fix(commitments): keep heartbeats responsive with large queues ( #105780 )
...
* fix(commitments): migrate store to sqlite
Replace steady-state JSON persistence with typed shared-state rows and a doctor-only verified import for shipped legacy data.
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com >
* fix(commitments): satisfy migration gates
* fix(commitments): type sqlite counts defensively
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-15 03:58:03 -07:00
Dallin Romney
ad34552473
refactor(qa): migrate Matrix scenarios into QA Lab ( #103589 )
...
* refactor(qa): migrate Matrix scenarios into QA Lab
* fix(qa): build Matrix boundary declarations
* fix(qa): preserve Matrix preview boundaries
* fix(qa): preserve Matrix hot reload semantics
* fix(qa): harden Matrix destructive scenario failures
* fix(qa): harden Matrix scenario isolation
* fix(qa): close Matrix negative scenario blind spots
* fix(qa): isolate Matrix substrate state
* fix(qa): harden Matrix transport substrate
* fix(qa): preserve Matrix profile and event parity
* fix(qa): preserve explicit scenario models
* fix(qa): align Matrix scenario coverage taxonomy
* fix(qa): format Matrix allowlist cleanup
* fix(qa): satisfy migrated Matrix CI contracts
* fix(qa): reconcile Matrix migration with current main
* fix(qa): break scenario flow import cycle
* fix(qa): reconcile Matrix max-lines ownership
* fix(qa): address Matrix review boundaries
* fix(qa): remove stale Matrix lint suppression
* fix(qa): adopt split Matrix E2EE flows
* fix(qa): export Matrix scenario record guard
* fix(qa): align Matrix migration with privatized helpers
* refactor(qa): finish Matrix QA Lab ownership
* fix(qa): preserve Matrix suite defaults
* fix(qa): reconcile Matrix cleanup with current main
* test(qa): follow canonical Matrix profile size
* fix(qa): guard stale Matrix QA package output
* docs(qa): redirect retired Matrix QA pages
* refactor(qa): finish Matrix runner rename
* test(qa): assert Matrix defaults through profile resolver
* docs: refresh QA cleanup map
* fix(qa): privatize Matrix storage discovery
2026-07-15 01:22:20 -07:00
Peter Steinberger
a6a0716486
feat(setup): rename Crestodian to OpenClaw system agent
...
User-facing name is now OpenClaw (the system speaks); internal code name is
system-agent. Gateway methods crestodian.* -> openclaw.chat/openclaw.setup.*,
agent tool -> openclaw, reserved agent ids openclaw + retired crestodian.
openclaw setup routes: onboarding flags -> onboard, -m/--yes -> system agent,
bare configured interactive -> OpenClaw chat, unconfigured -> onboarding.
Hidden crestodian CLI and /crestodian TUI aliases kept; docs moved to
docs/cli/openclaw.md with redirect stub. macOS/Android strings in lockstep.
Refs #107237
2026-07-14 11:03:02 -07:00
snowzlmbot
e8ad0466ff
fix: render assistant transcript headers safely ( #99404 )
...
* fix: render assistant transcript headers safely
Co-authored-by: snowzlmbot <293528334+snowzlmbot@users.noreply.github.com >
* fix(markdown): nest crossing annotation spans
* fix(markdown): protect final transport projections
* refactor(markdown): split transcript render ownership
* test(ui): cover assistant transcript render flag
* refactor(markdown): keep transcript helpers private
* docs(changelog): note assistant transcript headers
* chore(plugin-sdk): refresh transcript annotation baseline
* fix(markdown): harden final transcript projections
* docs(changelog): defer transcript note to release
* refactor(markdown): centralize HTML tokenization
* fix(markdown): satisfy lint gates
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
Co-authored-by: snowzlmbot <293528334+snowzlmbot@users.noreply.github.com >
2026-07-14 02:25:37 -07:00
Dallin Romney
54d31a1306
refactor(qa): share Matrix flows across drivers ( #101253 )
2026-07-14 01:48:30 -07:00
Peter Steinberger
d9623bd46f
fix(qa-lab): consume Crabline 0.1.11 artifacts ( #105983 )
...
* fix(qa-lab): consume Crabline 0.1.11 artifacts
* style(qa-lab): keep Crabline path note compact
* test(qa-lab): align Telegram scenario with group transport
2026-07-12 21:29:31 -07:00
Vincent Koc
871a92e5d9
fix(qa): use graceful Matrix replay restart ( #105317 )
2026-07-12 13:18:27 +02:00