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
bac7744233
fix(qa): scope duplicate parity capture handling
2026-07-15 05:03:43 +01:00
Peter Steinberger
33e415ea6c
fix(qa): keep parity helper private
2026-07-15 05:03:43 +01:00
Peter Steinberger
e23ba67142
fix(qa): reconcile duplicate parity capture rows
2026-07-15 05:03:43 +01:00
Marcus Castro
bc769663f8
fix(qa): restore WhatsApp scenario contracts ( #107543 )
2026-07-15 00:58:38 -03:00
Alix-007
4e24470ced
fix(qa-lab): prevent Multipass Node download hangs ( #107702 )
2026-07-14 20:47:49 -07:00
Alix-007
1878c57a46
fix(qa-lab): prevent Slack desktop auth hangs ( #107700 )
2026-07-14 20:43:46 -07:00
Alix-007
8d260d2f49
fix(qa-lab): prevent Telegram desktop API hangs ( #107699 )
2026-07-14 20:40:55 -07:00
Peter Steinberger
525db34f80
refactor: privatize diagnostics, Meet, and QA test seams ( #107869 )
...
* refactor(diagnostics-prometheus): privatize metrics test surface
* refactor(google-meet): remove Chrome test dependency exports
* refactor(qa-lab): test retained runtime boundaries
* chore(deadcode): shrink export baseline
2026-07-14 17:42:34 -07:00
Peter Steinberger
0000b70aa7
refactor(qa): use AIMock text extraction
2026-07-14 14:31:43 -07:00
Peter Steinberger
045090c2ce
refactor(qa-lab): use native strict object schemas
2026-07-14 11:10:21 -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
Peter Steinberger
f81f9d8570
chore: enforce max-lines suppression ratchet ( #107315 )
...
* ci: enforce max-lines suppression ratchet
* chore: prune stale max-lines suppression
* fix: close max-lines ratchet enforcement gaps
* fix: harden max-lines ratchet checks
* fix(ci): satisfy max-lines ratchet checks
* style: format max-lines declarations
* fix(ci): match oxlint suppression grammar
* test: isolate max-lines git fixtures
* chore: prune resolved max-lines debt
* test: skip newline path fixture on Windows
* fix: harden max-lines suppression ratchet
* chore: refresh max-lines baseline
* fix: close max-lines ratchet bypasses
* fix: derive ratchet base from PR merge tree
* fix: support older Git in staged ratchet
* fix: align max-lines declarations and baseline
* chore: refresh max-lines baseline for current main
* fix: exclude generated wizard locales from max-lines
* chore: prune resolved max-lines debt
2026-07-14 09:27:02 -07:00
Peter Steinberger
dd42e80480
refactor(qa-lab): split mock and Slack runtimes ( #107377 )
...
* refactor(qa-lab): split mock and Slack runtimes
* refactor(qa-lab): narrow Slack helper exports
2026-07-14 04:06:48 -07:00
Dallin Romney
54d31a1306
refactor(qa): share Matrix flows across drivers ( #101253 )
2026-07-14 01:48:30 -07:00
Peter Steinberger
16ff48c729
refactor(time): trust pretty-ms defaults
2026-07-14 01:15:43 -07:00
Peter Steinberger
604eb6af2d
refactor(concurrency): use native p-limit APIs
2026-07-13 20:23:00 -07:00
Peter Steinberger
7f73f6e66e
test(qa-lab): refresh CLI dispatch expectations ( #107018 )
2026-07-13 19:36:17 -07:00
Peter Steinberger
44fcbc612d
refactor(qa-lab): trim dead export surface ( #107016 )
...
* refactor(qa-lab): narrow report and config exports
* refactor(qa-lab): keep live test seams private
* refactor(qa-lab): remove dead runtime wrappers
* chore(deadcode): refresh QA Lab export baseline
2026-07-13 19:32:13 -07:00
Peter Steinberger
db02a96c4c
refactor(process): route bounded commands through Execa ( #106495 )
...
* refactor(process): centralize bounded command execution
* refactor(process): migrate core one-shot commands
* refactor(plugins): migrate one-shot commands
* fix(process): await Windows tree termination
* chore(plugin-sdk): refresh process runtime surface
* refactor(process): migrate remaining bounded commands
* refactor(process): normalize command result handling
* refactor(process): split execution responsibilities
* chore(plugin-sdk): refresh API baseline
* chore(process): remove release-owned changelog entry
* fix(process): narrow binary command input checks
* fix(process): cap sandbox command output
* fix(qa-lab): preserve exact node probe env
* chore(ci): refresh dead export baseline
* fix(process): preserve force-kill command deadlines
* fix(process): avoid post-exit timeout reclassification
* test(process): update scp staging wrapper mock
* test(process): update remaining wrapper mocks
* refactor(qa-lab): preserve Execa tar execution
2026-07-13 11:07:35 -07:00
Peter Steinberger
11cd600c2d
refactor(qa): split WhatsApp live runtime ( #106547 )
2026-07-13 09:31:51 -07:00
Peter Steinberger
8867a9da0b
refactor(extensions): remove unused Discord and QA Lab exports ( #106286 )
...
* refactor(extensions): remove unused major-plugin exports
* refactor(qa-lab): preserve existing test seams
* chore(deadcode): regenerate export baseline
* refactor(qa-lab): share evidence environment resolver
2026-07-13 09:25:45 -07:00
xingzhou
c3cb1af93c
fix(transcripts): stop live capture when the agent run is canceled ( #104123 )
...
* fix(transcripts): stop live capture when the agent run is canceled
* fix(transcripts): preserve startup cleanup ownership
* fix(transcripts): keep runtime session type internal
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-13 03:11:25 -07:00
Peter Steinberger
9b565e8d50
refactor(plugins): trim long-tail dead exports ( #106230 )
...
* refactor(extensions): trim long-tail plugin exports
* refactor(whatsapp): remove dead media relay
2026-07-13 02:34:06 -07:00
Peter Steinberger
a788617325
fix(qa-lab): report authoritative Crabline readiness artifact ( #106039 )
...
* fix(qa-lab): preserve readiness artifact path
* test(qa-lab): keep readiness fixture in generation
* docs(qa-lab): explain readiness fallback order
* style(qa-lab): format readiness fixture
* refactor(qa-lab): isolate Crabline artifact paths
* refactor(qa-lab): keep artifact path type local
* fix(qa-lab): remove stale Crabline type import
* fix(qa-lab): restore Crabline selection type import
2026-07-13 01:55:12 -07:00
Peter Steinberger
1136757174
refactor: consolidate bounded concurrency on p-limit and p-map ( #106002 )
...
* refactor: adopt p-limit and p-map for bounded concurrency
* chore: normalize lockfile ordering
* fix: preserve memory host concurrency export
* refactor: keep media apply within size budget
* fix: drain memory concurrency before failure
* fix: satisfy memory concurrency guards
* chore: scope memory host dead-code checks
* chore: lower concurrency LOC baselines
* fix: preserve concurrency API surfaces
* chore: reconcile concurrency LOC baseline
* test: keep memory concurrency gate portable
* style: simplify concurrency drain
* ci: refresh deadcode export baseline
2026-07-13 01:53:28 -07:00
Peter Steinberger
2237196871
refactor(extensions): remove dead QA and utility exports ( #105914 )
...
* refactor(extensions): remove dead QA and utility exports
* refactor(extensions): trim Matrix QA internal exports
* chore(deadcode): refresh extension export baseline
* chore(ci): reconcile deadcode and LOC baselines
* chore(deadcode): refresh baseline after main advance
* chore(deadcode): refresh baseline after main advance
* refactor(plugins): keep channel snapshot type private
* fix(ci): align Linux deadcode baseline
2026-07-13 00:34:46 -07:00
Peter Steinberger
adf6b08ab4
refactor: consolidate duration parsing and formatting ( #105988 )
...
* refactor: consolidate duration handling
* docs: leave release notes to release workflow
* fix: preserve build timing precision
* ci: align plugin sdk surface budgets
2026-07-12 23:38:22 -07:00
Peter Steinberger
a5883c33d1
refactor: use semver package for version ordering ( #105944 )
...
* refactor: use semver package for version ordering
* refactor: centralize semver validation
* chore: keep release notes in PR body
* refactor: update semver LOC ratchet
2026-07-12 23:02:25 -07:00
Vincent Koc
a778f891fa
fix(ci): repair main validation regressions ( #106037 )
2026-07-13 13:37:53 +08:00
Peter Steinberger
bd7f3cffd3
fix(ci): stabilize QA and UI validation ( #106061 )
2026-07-12 22:34:38 -07:00
Josh Avant
bb75950159
fix(worktrees): normalize dashed base refs ( #104105 ) ( #106048 )
2026-07-13 00:34:26 -05:00
Peter Steinberger
b9f0246765
feat(plugin-sdk): add shared HTML escaping seam ( #105975 )
2026-07-12 22:33:53 -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
Peter Steinberger
0d90ca6b5d
refactor(config): retire flat and scalar streaming keys from matrix, feishu, and qqbot ( #105808 )
...
* feat(doctor): migrate legacy matrix/feishu/qqbot streaming spellings to nested config
* test(matrix): shorten setup fixture tokens below the review secret-scanner threshold
* refactor(config): retire flat/scalar streaming keys from matrix, feishu, and qqbot
* docs: describe nested-only streaming config for matrix, feishu, and qqbot
* fix(qa-matrix): compose nested streaming config for the matrix QA harness
* test(feishu): compose negative webhook fixtures outside the GHSA opengrep pattern
* docs: refresh generated docs map
* test(feishu): compose negative webhook fixtures from lint-clean bases outside the GHSA opengrep pattern
* fix(qa-lab): rewrite crabline flat streaming config into the nested channel shape
* chore(config): regenerate channel config metadata and plugin-sdk API baseline for nested-only streaming
* chore(plugin-sdk): absorb main-side deprecated pairing/conversation pin drift
* fix(qa-lab): consume Crabline nested streaming config
2026-07-12 20:33:14 -07:00
Vincent Koc
f26793ca54
refactor(qa-lab): trim process metric parser exports ( #105891 )
2026-07-13 10:42:29 +08:00
Peter Steinberger
fe0a6db2b4
fix(slack): warn on disabled channel drops ( #105790 )
2026-07-12 17:50:14 -07:00
Peter Steinberger
619a68e97e
fix(qa): repair agentic runtime parity mocks ( #105500 )
...
* fix(qa): repair agentic runtime parity mocks
* fix(qa): scope terminal media parity evidence
* fix(qa): require one image call for media fallback
* fix(qa): bind terminal media proof to image step
* fix(qa): require image capture agreement
* fix(qa): allow skipped parity steps
2026-07-12 19:53:05 +02:00
Peter Steinberger
2d86d07f73
test(discord): verify identity probe deadline behavior ( #105541 )
...
* test(discord): verify identity probe deadline behavior
* test(discord): keep timeout rejection message agnostic
2026-07-12 18:33:50 +01:00
Peter Steinberger
9ebf9a2e89
fix(qa-lab): tuple-narrow Slack progress markers in live test types
...
#103995 added mutate callbacks that destructure the marker array; under
indexed-access checking string[] elements are string | undefined, failing
check-test-types on main and every PR. The some() guard already proves all
three markers exist, so narrow to a tuple.
2026-07-12 10:01:43 -07:00
efrazer-oai
d09d200293
fix(slack): show commentary independently of tool progress ( #103995 )
...
* fix(slack): separate commentary progress from tools
* fix(slack): preserve legacy preamble defaults
* test(slack): add live commentary progress proof
* fix(slack): support scoped progress drafts
* test(slack): harden commentary progress proof
* test(slack): type commentary matrix cases
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 17:52:53 +01:00
Peter Steinberger
a24eab8488
fix(qa): read runtime parity transcripts from sqlite ( #105495 )
...
* fix(qa): read runtime parity transcripts from sqlite
* test(qa): track parity temp directories
* docs(agents): note PR head refresh sequence
2026-07-12 16:48:35 +01:00
Peter Steinberger
30cc87a8a6
test(qa): model Codex compaction in parity mock ( #105493 )
...
* test(qa): model codex compaction in parity mock
* docs(agents): record gh branch lookup syntax
2026-07-12 16:37:39 +01:00
Peter Steinberger
3b0d3574e3
fix(qa): keep mock memory embeddings offline ( #105488 )
2026-07-12 16:28:46 +01:00
Peter Steinberger
a97300bad8
fix(qa): preserve Codex mock routing ( #105444 )
...
* fix(qa): preserve Codex mock routing
* fix(qa): satisfy extension lint
2026-07-12 15:25:07 +01:00
Peter Steinberger
7ca827eba2
fix(qa): align mock catalog with selected models ( #105401 )
...
* fix(qa): align mock catalog with selected models
* test(qa): verify selected refs reach mock server
2026-07-12 15:21:19 +01:00
Vincent Koc
96aff2787d
fix(qa): secure Crabline artifact handling
2026-07-12 13:58:30 +02:00
Peter Steinberger
81941f2d68
test: enable noUncheckedIndexedAccess for extension tests ( #105343 )
2026-07-12 12:48:22 +01:00
Vincent Koc
871a92e5d9
fix(qa): use graceful Matrix replay restart ( #105317 )
2026-07-12 13:18:27 +02:00
Vincent Koc
2148c3bf7e
fix(active-memory): restore SQLite recall sessions ( #105255 )
...
* fix(qa): seed memory scenarios through SQLite
* fix(active-memory): initialize SQLite recall sessions
* test(active-memory): model missing harness reservation
* fix(active-memory): clean up transient recall sessions
* fix(active-memory): isolate concurrent recall sessions
* fix(active-memory): discard transient SQLite recalls
* fix(active-memory): preserve transient recall boundaries
* fix(active-memory): retry transient recall cleanup
* fix(active-memory): always clean transient recall workspaces
* chore: drop release-owned changelog entry
2026-07-12 18:29:23 +08:00