Vincent Koc
c0c12da9f2
fix(qa): separate provider plans from runtime calls ( #113399 )
...
* fix(qa): separate provider plans from runtime calls
* fix(claws): keep profile limit outside env ratchet
* refactor(qa): remove obsolete capture comparators
* chore(release): leave notes to release workflow
2026-07-24 20:55:54 +00:00
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
Vincent Koc
772e320a8d
refactor(qa): remove duplicate report renderer ( #113258 )
2026-07-24 15:02:44 +08:00
joshavant
8287e21445
fix(cron): enforce caps across CLI backends
2026-07-24 01:24:03 -05:00
Peter Steinberger
3b7b2a2a1f
chore: update dependencies and migrate major contracts ( #112963 )
...
* build(deps): complete latest dependency migrations
* fix(deps): satisfy updated dependency types
* fix(deps): hold incompatible build tooling
* fix(deps): preserve portable tooling contracts
* build(deps): allow reviewed fresh transitive releases
* fix(deps): repair major upgrade validation
* build(deps): regenerate current dependency graph
* fix(logging): keep tslog adapter type private
* fix(agents): narrow grep subprocess handle
* fix(codex): prefer pinned managed binary
* fix(codex): fence managed native provenance
* build(deps): align codex ACP with managed harness
* fix(slack): use socket-mode Undici runtime
* fix(slack): detect cross-runtime responses
* fix(slack): bridge package-owned fetch types
* fix(deps): retain tslog v4 JSON contract
* build(plugin-sdk): refresh logging API manifest
2026-07-23 21:21:01 -07:00
Peter Steinberger
bb657eec93
refactor(config): retire redundant settings ( #113174 )
...
* refactor(config): retire redundant settings
* style: apply current formatter
* chore: update plugin sdk baseline
* fix: keep Codex tool caps context-aware
* chore: remove stale imports
* test: align WhatsApp QA debounce config
* fix(config): clean up retired config checks
* fix(ci): align config cleanup checks
2026-07-23 17:45:02 -07: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
Peter Steinberger
f583114774
test(qa-lab): consolidate mock OpenAI server fixtures ( #112872 )
2026-07-23 01:04:22 -04:00
Dallin Romney
4602e57d14
fix(qa): stop retrying unavailable credentials per partition ( #112840 )
2026-07-23 11:32:33 +09: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
Jesse Merhi
4a2a600809
feat(channels): add channel-owned setup contracts ( #112176 )
...
* feat(channels): add channel-owned setup contracts
* test(channels): align legacy setup fixtures
* chore(channels): regenerate config and SDK baselines after rebase
* fix(update): run fresh doctor after current-process core changes
* fix(channels): align add pre-scan with execution precedence
* style(cli): format channels-cli test additions
* fix(channels): restore option-before-positional channel resolution via metadata arity scan
* fix(channels): keep help flags out of metadata arity escalation
* test(update): mock fresh post-update doctor in current-process suites
* style: format review fixes and correct entrypoint mock type
* fix(channels): register only modern contract options for dual-publishing plugins
* test(update): align downgrade suites with fresh-doctor child invocation
* docs(channels): record empty-contract and input-forwarding invariants
* fix(line): keep the shipped --token switch as a channel access token alias
* fix(signal): stop treating exact cross-family loopback endpoints as bind-aligned
* chore(config): regenerate docs config baselines after second rebase
* style: format rebased channels add tests
* fix(channels): enforce field-key and flag-name agreement in setup contracts
* fix(signal): detect container endpoints for bare --http-url setup
* fix(signal): ignore unconfigured accounts in transport collision checks
* fix(channels): validate negated setup flags in contract and normalizer
* fix(signal): preserve existing transport kind when setup detection is unreachable
* style(signal): use direct boolean check in collision guard
* style(signal): type test config literals
* docs(update): record two-read design of fresh-doctor validation gate
* fix(channels): satisfy post-rebase architecture gates
* docs: refresh channel setup map
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-22 19:57:42 -04: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
Peter Steinberger
88875ab7d9
refactor(channels): remove retired ack cleanup branches ( #112635 )
2026-07-22 03:54:28 -07:00
Peter Steinberger
0b080b9c2e
feat(apps): native session-list observer digests on iOS, Android, and macOS ( #112597 )
...
* feat(apps): native session-list observer digests on iOS, Android, and macOS
* fix(apps): satisfy swift, periphery, and lint gates for native digests
2026-07-22 01:53:29 -07:00
Peter Steinberger
6f29fc88e9
refactor(sessions): migrate pure readers to read-only session accessors ( #112568 )
...
* refactor(sessions): migrate pure readers to read-only session accessors
* test(sessions): teach mocks and declarations the read-only accessors
* test(sessions): align remaining harnesses with read-only accessors
2026-07-22 01:16:35 -07:00
Dallin Romney
eab05ddffb
fix(qa): preserve partial maturity evidence ( #112569 )
2026-07-22 16:54:36 +09:00
Peter Steinberger
f0de4cfe75
test(qa-lab): split scenario catalog tests to restore max-lines headroom
2026-07-22 00:47:06 -07: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
Dallin Romney
3946bcc20c
fix(qa): run isolated Matrix evidence partitions in parallel ( #112465 )
...
* fix(qa): parallelize isolated Matrix evidence partitions
* refactor(qa): plan adapter instance concurrency
* fix(qa): let Docker assign Matrix harness ports
* refactor(qa): use instance isolation for Matrix concurrency
* test(ci): expect maturity concurrency six
* refactor(qa): remove Matrix harness manifest
2026-07-22 14:45:52 +09: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
pick-cat
fc52627ac1
fix(qa-lab): reject hex/exponent Telegram SUT uid env values ( #107626 )
...
* fix(qa-lab): reject hex/exponent Telegram SUT uid env values
* test(qa-lab): add direct unit tests for parseSutId strict int parsing
Export parseSutId and add 15 direct unit tests covering hex/exponent/fraction/
empty/whitespace/zero/negative rejection and valid decimal acceptance across
UID, GID, and CLEANUP_TIMEOUT_MS keys. The 3 existing integration tests
already prove the full CLI chain rejects malformed UIDs before gateway startup.
Mutation check: reverting to permissive Number() parsing causes 6 tests to
fail (4 unit + 2 integration).
Co-Authored-By: nebulacoder-v8.0 <noreply@zte.com.cn >
* test(qa-lab): cover GID and cleanup-timeout CLI reject-before-gateway
* fix(qa-lab): drop stale live-scenario mocks from SUT uid tests
* style(qa-lab): oxfmt import order in telegram cli.runtime
* test(qa-lab): streamline strict SUT integer coverage
---------
Co-authored-by: nebulacoder-v8.0 <noreply@zte.com.cn >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-21 09:42:22 -07:00
Dallin Romney
32b49bf2f1
fix(qa): preserve Matrix replies across scenario config reloads ( #112065 )
...
* fix(ci): keep maturity evidence on stable provider mode
* fix(qa): preserve model policy during Matrix setup
2026-07-21 16:23:24 +09:00
QiuYuang
4a7b1d9a1c
fix(qa-lab-web): guard dashboard json responses ( #108943 )
...
* fix(qa-lab-web): guard dashboard json responses
* fix(qa-lab-web): remove global json size cap
* test(qa-lab-web): cover production json routes
* fix(qa-lab-web): satisfy json guard checks
* test(qa-lab-web): cover JSON media contracts
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-20 23:12:46 -07:00
Leon-SK668
88a186d1f2
fix(qa-lab): preserve emoji in Matrix timeout diagnostics ( #109532 )
2026-07-20 20:30:42 -07:00
Dallin Romney
29737496a8
fix(qa): run independent evidence channels concurrently ( #112008 )
...
* fix(qa): overlap independent channel evidence
* fix(ci): pin nested maturity evidence ref
* test(qa): satisfy promise executor lint
2026-07-21 11:25:46 +09:00
Peter Steinberger
0ac7b24d56
feat(channels): batch 3 producers drop media placeholder bodies ( #111800 )
...
* feat(channels): batch 3 producers drop media placeholder bodies
Media-placeholder program batch 3: iMessage, Signal, and WhatsApp stop
minting <media:kind> placeholder bodies. Primary bodies carry captions
only with one aligned structured fact per native attachment (type-only
for missing/rejected/oversized). Echo, quote, and pending-history
records gain structured media facts so dedupe and previews work without
rendered text. Signal media-only outbound sends drop the placeholder
body entirely (signal-cli accepts attachment-only sends; recipients now
see just the media). WhatsApp audio preflight de-stringed; qa-lab
sticker recognizer moved to structured facts; WhatsApp gif maps to
video (presentation mode, no behavioral consumer).
* test(whatsapp): keep media classifier private
2026-07-20 04:22:44 -07:00
thomas.szbay
a0c3067b54
fix(qa-lab): bound evidence checkout ref git probe with timeout ( #111448 )
...
Co-authored-by: thomas.szbay <thomas.szbay@example.com >
2026-07-19 15:48:53 -07:00
Peter Steinberger
5a6a19c133
fix(qa): align runner inbound dispatch contract ( #111507 )
2026-07-19 11:51:24 -07:00
Peter Steinberger
b9cf1add0f
fix(qa): retry transient history rebuilds ( #111475 )
...
* fix(qa): retry transient history rebuilds
* fix(qa): preserve history retry timeout cause
* test(qa): avoid retry timeout shadowing
2026-07-19 11:10:15 -07:00
Dallin Romney
6dc6d5efee
fix(qa): wait for active config revision after restart ( #111073 )
2026-07-19 07:46:32 -07:00
Peter Steinberger
783a5d21cf
refactor(config): purge numeric tuning knobs behind built-in defaults ( #111382 )
2026-07-19 07:35:45 -07:00
Peter Steinberger
d0f37bd843
fix(qa): preserve paginated bus events ( #111410 )
2026-07-19 06:34:35 -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
Peter Steinberger
58452de711
refactor(config): config-surface reduction tranche 1 — retire dead keys, dedupe channel schemas, add growth ratchet ( #111142 )
...
* refactor(config): retire dead and aliased config keys via doctor migrations
* refactor(config): dedupe bundled channel config schemas into shared builders
* feat(config): add config-surface count ratchet to doc-baseline check
* test(config): drop stale fixtures for retired config keys
* fix(doctor): migrate only positive finite MCP timeout aliases
* fix(migrate-hermes): emit canonical MCP timeouts only
* fix(config): satisfy lint and contract gates
2026-07-19 00:52:37 -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
Dallin Romney
56915896bc
fix(qa): bound Matrix E2EE sends ( #110968 )
2026-07-18 15:32:44 -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
Wynne668
c1eba30949
fix(qa): discard ignored guarded response bodies ( #110443 )
...
* fix(qa-lab): release failed suite gateway response bodies
* fix(qa): discard ignored guarded response bodies
Co-authored-by: ZengWen-DT <ceng.wen@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-18 18:08:16 +01:00
Peter Steinberger
4fbdb6d011
test(qa): align coverage inventory contracts ( #110799 )
2026-07-18 17:22:50 +01:00
Alix-007
cc7bd4d95a
fix(qa-lab): bound Node binary lookup ( #109428 )
2026-07-18 09:35:16 +01:00
Alix-007
78b4a4afed
fix(qa-lab): bound WhatsApp auth archive extraction ( #109501 )
2026-07-18 09:33:38 +01:00
Peter Steinberger
307353dd1c
fix(qa): complete gateway-less transport cleanup
2026-07-18 08:56:13 +01:00
Peter Steinberger
a676afd54d
fix(qa): release transport leases after gateway stop
2026-07-18 08:23:34 +01:00