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
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
xingzhou
713b6151d1
fix(qa): preserve crabbox command output unicode ( #110278 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-18 07:13:25 +01:00
Peter Steinberger
ab0277946d
fix(qa): isolate active memory migration ( #110358 )
2026-07-18 06:50:13 +01:00
Peter Steinberger
0a5c2d127f
test(qa): acknowledge kitchen sink plugin trust ( #110335 )
2026-07-18 03:47:43 +01:00
morluto
cf63c83bf6
fix(qa-lab): close transport before gateway teardown ( #106027 )
...
* fix(qa-lab): close transport before gateway teardown
* test(qa-lab): bind teardown order to production plan
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-18 02:34:11 +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
82fa956d5a
fix(qa): resolve profile channels through selected driver ( #109350 )
...
* fix(qa): keep generic profiles off channel-specific lanes
* fix(qa): resolve profile channels through selected driver
2026-07-17 16:42:18 -07:00
Dallin Romney
a9dc393f7e
test(qa): prove Codex auth product migration ( #109291 )
2026-07-17 16:10:23 -07:00