Vincent Koc
2e4683ba7f
fix(qa): finish aggregate suites without shared cache races ( #120816 )
...
* fix(qa): bound parallel aggregate script runs
Punchcard-Session: amber-workshop-workshop-36
Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com >
* test(tui): wait for adopted session frame
Punchcard-Session: amber-workshop-workshop-36
---------
Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com >
2026-08-10 03:32:04 +08:00
Vincent Koc
e14b36cdbf
fix(qa): update Control UI scenario code references ( #120801 )
2026-08-09 09:42:38 +08:00
Vincent Koc
a1d20ae31b
test(tui): cover session lifecycle and resume ( #119465 )
...
Punchcard-Session: ember-workshop-lantern-bs
2026-08-05 12:16:06 +08:00
Vincent Koc
bfcce12e6b
fix(tui): restore provider auth in installed local mode ( #119283 )
...
* test(tui): cover local recovery and auth flows
* fix(tui): restore installed local auth
* test(qa): allow TUI scenario teardown margin
Punchcard-Session: ember-workshop-lantern-bs
* fix(tui): constrain local CLI launcher ownership
Punchcard-Session: ember-workshop-lantern-bs
* fix(tui): satisfy local auth validation gates
Punchcard-Session: ember-workshop-lantern-bs
* fix(tui): strip inspector flags from auth child
Punchcard-Session: ember-workshop-lantern-bs
2026-08-05 05:40:13 +08:00
Vincent Koc
c1a2f4dde7
fix(tui): keep whitespace-prefixed bang input in chat ( #119245 )
...
* chore: start T06 local shell proof
* fix(tui): preserve whitespace before bang submits
* fix(tui): defer paste expansion until submit
* fix(tui): preserve bang spacing across blocked retry
* fix(tui): keep whitespace bang chat out of history
* fix(tui): preserve bang routing across trim
2026-08-05 00:19:53 +08:00
Vincent Koc
cdd0856f4d
test(tui): prove streaming and tool card rendering ( #119251 )
2026-08-04 23:32:59 +08:00
Vincent Koc
52954a1fa8
chore(tui): add Gateway boundary PTY coverage ( #119191 )
...
* test(tui): prove gateway boundary flows
* test(tui): tighten gateway boundary assertions
* test(tui): satisfy gateway boundary lint
* test(tui): harden gateway boundary PTY proof
* test(tui): strengthen gateway lifecycle proof
* test(tui): validate gateway history metadata
* test(tui): isolate gateway model proof
* test(tui): isolate gateway model replies
* test(tui): isolate gateway boundary fixtures
* test(tui): settle gateway session adoption
2026-08-04 21:25:02 +08:00
Vincent Koc
121c6c1042
test(tui): prove command surfaces through PTY ( #119165 )
2026-08-04 18:08:53 +08:00
Vincent Koc
4bdf9ca789
fix(tui): block terminal controls in system messages ( #118998 )
...
* fix(tui): sanitize rendered system messages
* test(tui): keep PTY safety proof within lint budget
* test(tui): clarify terminal safety PTY proof
* test(tui): de-churn terminal safety harness
* fix(tui): sanitize connection status output
* test(tui): split PTY harness support
* fix(tui): sanitize selector and footer output
* fix(tui): harden terminal display boundaries
* fix(tui): harden terminal display boundaries
* fix(tui): harden terminal output boundaries
* test(tui): repair terminal safety proof
* test(tui): harden terminal safety oracle
* test(tui): type OSC terminator candidates
* fix(tui): authenticate current terminal rendering
* fix(tui): harden terminal output safety evidence
* test(tui): keep PTY cell type internal
* test(tui): reject literal tabs in PTY oracle
* test(tui): reject literal backspace in PTY oracle
2026-08-04 16:35:41 +08:00
Vincent Koc
0dc9970624
test(ui): cover Control UI auth transports ( #118866 )
...
* test(ui): cover control ui auth transports
* test(qa): register control ui auth transport scenarios
* test(ui): allow loaded control ui startup
* test(ui): allow loaded screenshot capture
* test(ui): scrub loopback proof URLs
* test(ui): keep transport proof assertion-focused
* test(ui): capture auth transport proof directly
* test(ui): gate auth transport proof media
* test(ui): scope auth transport evidence
* test(ui): fix auth transport frame typing
* test(ui): stabilize auth transport QA
* test(ui): separate auth UI navigation readiness
2026-08-04 08:16:22 +08:00
Vincent Koc
67d67b5ca9
test(ui): cover operator administration flows ( #118836 )
2026-08-04 08:14:58 +08:00
Vincent Koc
85af36dbf6
improve(tui): prove CLI entrypoints under real PTY ( #118990 )
...
* test(tui): cover CLI entrypoints under PTY
* test(tui): require built CLI in PTY evidence
2026-08-04 08:07:17 +08:00
Vincent Koc
a2ccd6ea61
test(ui): add service-worker update primary QA proof ( #118805 )
...
* test(ui): prove service-worker production updates
* test(qa): register control ui service-worker proof
* fix(ui): type production build environment
* fix(ui): avoid service-worker test shadowing
* test(ui): gate service-worker proof capture
* test(ui): isolate production e2e build output
* test(ui): assert claimed service worker version
2026-08-04 06:56:47 +08:00
Vincent Koc
57a1cbbeee
test(tui): prove editor input through PTY ( #118982 )
2026-08-04 06:18:38 +08:00
Vincent Koc
99926b7323
test(tui): add reusable PTY evidence producer ( #118902 )
2026-08-04 05:19:42 +08:00
Vincent Koc
361c07f993
test(ui): add shell and PWA primary QA proof ( #118788 )
...
* test(ui): cover shell routing and gateway target
* test(qa): register shell and PWA primary proof
* test(ui): record prefixed asset behavior
* test(ui): satisfy shell routing lint
* test(ui): reject root asset fallbacks in shell proof
* test(ui): preserve shell proxy redirects
2026-08-04 05:11:45 +08:00
Vincent Koc
02885d6d16
test(qa): cover Control UI sessions and cron ( #118838 )
...
* test(qa): cover Control UI sessions and cron
* test(qa): reuse canonical Cron E2E owner
2026-08-04 03:52:26 +08:00
Vincent Koc
a2409d1ebe
test(ui): cover diagnostic operator flows ( #118837 )
2026-08-04 03:49:07 +08:00
Vincent Koc
c218c539ab
test(ui): add guarded config QA coverage ( #118814 )
2026-08-04 03:38:27 +08:00
Vincent Koc
d6059d20fd
test(ui): add update status browser proof ( #118786 )
2026-08-04 03:23:13 +08:00
Vincent Koc
cd42cb7703
test(ui): add credentials primary QA proof ( #118790 )
2026-08-04 03:05:17 +08:00
Peter Steinberger
d16e33e08e
fix: restore trustworthy end-to-end QA and cross-channel delivery ( #115404 )
...
* fix(qa): repair verified end-to-end and channel regressions
* fix(gateway): make interrupted restart recovery lifecycle-safe
* test(heartbeat): target the canonical recovery session store
* fix(gateway): prioritize durable restart recovery before heartbeat
* fix(qa): preserve safe restart recovery and channel expiry
* fix(qa): fail closed and fence restart recovery
* test(agents): isolate restart recovery timing
* test(agents): prove actual restart retry timing
* fix(qa): report incompatible profile scenarios
* fix(scripts): resolve symlinked docker scheduler entrypoints
* fix(qa): require fresh native test evidence
* fix(heartbeat): fence active restart recovery delivery
* fix(gateway): consume untargeted restart acknowledgements
* fix(qa): satisfy exhaustive hosted validation gates
* fix(agents): fence stopped restart recovery dispatch
* style(agents): format restart recovery lifecycle regression
* test(gateway): isolate context prewarm sidecar lifecycle
* test(qa): make scenario process timeout cleanup deterministic
* fix(qa): stamp synthetic gateway configs with current version
* fix(openai): preserve vision capabilities in stale model catalogs
* test(qa): align profile channel rejection with current main
* fix(openai): forward supported moderation for image edits
* fix: restore latest-main CI and image edit documentation
* fix(qa): retain relocated code-mode evidence validation
* fix(openai): expose GPT-5.4 vision in static catalog
* fix(pricing): honor explicit model cost overrides
* test(pricing): keep isolated provider regressions deterministic
* fix(openai): inherit transport for discovered static models
* fix(gateway): honor agent-owned static image capabilities
* test(gateway): preserve prepared-snapshot attachment races
* test(gateway): isolate subagent persistence failure injection
* test(gateway): exercise concurrent voice replay admission
* fix(gateway): restore stale model image capabilities
* fix(agents): publish configured model vision capabilities
* fix(agents): isolate detached media transcript ownership
* test(agents): preserve generic transcript lock regression
* fix(gateway): require proven static model route identity
* fix(qa): accept bounded full-size generated image attachments
* fix(qa): require fresh script producer evidence
* test(qa): prove native E2E scenario execution
2026-07-29 12:45:27 -04:00
Peter Steinberger
d239a59d82
fix(ui): make Control UI ownership and permissions reliable ( #115364 )
...
* fix(ui): unify connection-owned gateway event dispatch
* fix(qa): keep hosted UI smoke evidence truthful
* fix(ui): make mobile navigation drawer an accessible modal
* refactor(ui): centralize settings search destinations
* fix(ui): own chat media resource lifecycles
* fix(ui): unify sidebar session scope ownership
* refactor(ui): remove obsolete navigation backdrop styles
* refactor(ui): isolate dashboard provider lease capabilities
* fix(ui): centralize gateway operator permissions
* style(ui): format gateway event regressions
* fix(ui): render live dashboard permissions immediately
* fix(ui): enforce approval grant authority
* fix(gateway): fence retired sockets after event gaps
* fix(ui): isolate sidebar gateway fixtures across shared workers
* test(ui): isolate singleton-sensitive browser suites
* fix(ui): retire stale catalog pagination on gateway reconnect
* fix(ui): restore drawer focus after native dialog dismissal
* fix(ui): seed drawer threads and preserve modal focus ownership
* fix(ui): isolate nested native drawer overlay lifecycle
* test(ui): prove isolated dashboard lease authorization
* fix(ui): bound settled managed image resources
* fix(ui): type native modal focus and shared test helper
* fix(ui): correct approval mock types and trim dead export
* fix(ui): keep settings section metadata private
* fix(qa): keep hosted coverage regression within lint limit
* refactor(ui): keep catalog presence in its session data owner
* fix(browser): regenerate bundled copilot runtime
* test(ui): split board lease authorization regressions
* fix(ui): snapshot gateway listener fanout without redundant spread
* fix(ui): bind chat media subscriptions to image lifetime
* fix(ui): extract overlay access lifecycle
* fix(ui): restore guarded media after Lit reconnection
* test(ui): localize board lease fixture title
* fix(ui): reuse system approval fixture labels
* test(ui): narrow managed media lifecycle source
* fix(ui): prevent retired board gateway clients from rolling back leases
* fix(ui): expose pairing to pairing-scoped operators
* fix(ui): preserve legacy device pairing access
* fix(ui): preserve responsive sidebar ownership
* fix(ui): preserve responsive navigation and prove media ownership
* fix(ui): retire revoked catalog and refresh pairing grants
* test(ui): align typed catalog fixtures with main
2026-07-28 16:42:05 -04:00
Peter Steinberger
641c82b5bd
fix(qa): restore full-stack scenarios and truthful suite exits ( #115290 )
...
* fix(qa): restore full-stack scenarios and truthful suite exits
* test(qa): respect plugin boundaries and atomic media delivery
2026-07-28 13:00:22 -04:00
Peter Steinberger
a5ee5039ce
test(ui): split the oversized Control UI e2e suites ( #114889 )
...
* test(ui): split oversized Control UI e2e suites
* test(ui): bound new-session locator polling
* test(ui): fix split e2e metadata
* test(ui): give startup waits an explicit budget
2026-07-28 01:07:21 -04:00
Peter Steinberger
854a7f0e91
fix(ui): preserve agent, session, locale, and dashboard ownership ( #114896 )
...
* fix(ui): isolate sessions and preserve agent-scoped state
* test(ui): stabilize agent-scoped chat startup browser proof
2026-07-28 01:02:06 -04:00
Peter Steinberger
3890a5efb6
fix(qa): restore current scenario source and documentation references ( #113639 )
...
Co-authored-by: Peter Steinberger <steipete@golden-gate.local >
2026-07-25 05:04:05 -07:00
Dallin Romney
132d91e427
refactor(qa): make taxonomy coverage ids unique ( #110280 )
2026-07-22 16:28:44 +09: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
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
9a2f25c82b
refactor(qa): make channel drivers run-level ( #108602 )
2026-07-16 00:59:03 -07:00
Dallin Romney
2d9b78fff7
refactor(qa): canonicalize live scenario coverage ( #108464 )
2026-07-15 16:50:41 -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
Vincent Koc
6f820f9e6c
fix(qa): wait for Control UI composer readiness ( #105309 )
2026-07-12 13:05:32 +02:00
Dallin Romney
0b9c2e6f95
fix(qa): simplify smoke lanes and isolate fanout ( #102262 )
...
* fix(qa): simplify smoke lanes and isolate fanout
* ci: re-enable repaired QA smoke lanes
* ci: split Crabline smoke into three shards
* ci: eliminate repeated QA smoke builds
* fix(qa): focus control ui smoke scenario
* ci(qa): remove smoke worker launch delay
* ci(qa): bound automatic smoke coverage
2026-07-10 09:48:40 -07:00
Shakker
65e12328aa
feat: refactor the Control UI architecture
...
Refactor the Control UI around route-owned page lifecycle and state while preserving existing behavior and design.
Prepared head SHA: bd51b6fa76
Co-authored-by: Shakker <165377636+shakkernerd@users.noreply.github.com >
Reviewed-by: @shakkernerd
2026-07-04 23:19:38 +01:00
Dallin Romney
3b4092dbaa
test: add executable runtime fixture canaries ( #99737 )
...
* test(qa): add runtime fixture canaries
* test(voice-call): track fixture temp directories
2026-07-03 20:22:40 -07:00
Dallin Romney
677c8ff846
improve: enforce canonical QA scenario ownership ( #99628 )
...
* improve: enforce canonical QA scenario ownership
* docs: refresh QA documentation map
* docs: condense QA ownership guidance
* docs: remove QA migration guidance
* refactor: simplify QA scenario ownership checks
* docs: align QA coverage authoring guidance
2026-07-03 15:51:18 -07:00
Dallin Romney
24ce672e06
refactor(qa): use transport-native actions in flow scenarios ( #97962 )
...
* Add QA channel scenario driver contracts
* Route DM baseline through channel scenario driver
* Simplify channel behavior flow runtime helper
* test(qa): use native YAML for DM channel scenario
* test(qa): add conversation flow action
* test(qa): break channel scenario import cycle
* test(qa): fix channel scenario lint
* Unify QA channel scenario transport adapter
* Fix QA transport test type expectations
* refactor(qa): use native transport flow actions
* test(qa): derive direct reply session from transport
2026-07-01 11:39:06 -07:00
Dallin Romney
78f7de01c1
test: link local e2e qa coverage wrappers ( #97150 )
2026-06-27 18:34:36 -07:00
Vincent Koc
def4b51485
fix(qa): gate smoke profile scenarios by channel driver
2026-06-23 09:34:52 +08:00
Vincent Koc
7cc21ef59d
fix(qa): stabilize smoke-ci scenarios
2026-06-22 15:41:53 +08:00
Dallin Romney
e12cf72b17
Standardize QA coverage IDs on dotted names ( #94702 )
...
* fix: standardize qa coverage ids
* test: avoid qa coverage id assertion spread
2026-06-18 17:25:26 -07:00
Colin Johnson
d5a27b0b96
test: add QA Lab UX Matrix evidence scenario ( #94306 )
...
* test: add qa lab ux matrix script scenario
* fix(qa-lab): annotate UX Matrix producer catch callback as unknown for oxlint
---------
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-06-18 14:10:06 -07:00
Dallin Romney
450060d7a2
test(qa): expand smoke-ci and release categories and coverage ( #93175 )
...
* test(qa): add smoke ci primary coverage evidence
* test(qa): remove overstated primary coverage claims
* test(qa): make release profile include smoke ci
* test(qa): trim taxonomy formatting churn
* test(qa): avoid hardcoded profile names in coverage test
* test(qa): make release profile cover taxonomy
* test(qa): type profile fixture all category flag
* test(qa): include channel delivery in smoke ci profile
2026-06-15 18:05:52 -07:00
Dallin Romney
fef8394079
Convert QA scenarios to YAML files ( #92915 )
...
* refactor: load QA scenarios from YAML
* docs: update personal QA scenario docs
* test: keep QA scenarios YAML-only
2026-06-14 17:31:18 -07:00
Dallin Romney
561b293c7a
Run Vitest and Playwright scenarios from qa suite ( #92606 )
...
* test(qa): run vitest and playwright scenarios from qa suite
* fix(qa): harden scenario suite dispatch
* refactor(qa): share scenario path utilities
* refactor(qa): share test file scenario runner
* refactor(qa): route test file scenarios through suite runtime
* refactor(qa): use explicit suite runtime result kind
* test(qa): write suite evidence artifact
* refactor(qa): clarify suite execution dispatch
* fix(qa): keep test-file scenarios out of flow-only runners
* refactor(qa): export mixed scenario suite runner
2026-06-13 01:06:10 -07:00
Vincent Koc
14198a1c66
fix(qa): close remaining mock qa e2e regressions
2026-05-27 10:06:08 +02:00
Peter Steinberger
9e149519fe
fix: keep control ui bundle browser-safe
2026-04-25 09:22:49 +01:00