Skip to content

Replace semantic browser permutations with mounted coverage - #84

Closed
comp615 wants to merge 1 commit into
broad-browser-fixture-sizingfrom
browser-semantic-tests
Closed

comp615 wants to merge 1 commit into
broad-browser-fixture-sizingfrom
browser-semantic-tests

Conversation

@comp615

@comp615 comp615 commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

🤖 AI-authored implementation and description.

Stacked on #81, independent of #83. Moves semantic permutations to their component/service owners while retaining browser-specific and end-to-end integration coverage. No production changes.

Coverage mapping (8 browser cases removed / 16 engine executions; 6 mounted cases added):

  • Two membership mark-through cases → StrictMode UnreadOptions tests selecting the latest chat rather than membership activity, and refusing activity-only history. Real unread-service tests retain manual-intent/journal frontier semantics; browser visibility, dwell, storage and cross-window journeys remain.
  • Permission/category toggles and asynchronous display failure → mounted NotificationSettings with the real NotificationsService, preferences and browser adapter. Only the OS Notification API is fake. Controlled clocks and a permission gate cover pending controls, release, preserved categories, UI errors, callback cleanup and no redelivery.
  • Four composer cases → mounted MessageComposer coverage for exact namesake recipient intent, query-only replacement, mention/emoji arbitration in both channel and reply, stale blur/provider/session results, and read-only rejection. Real matchers and host editing are exercised with deterministic suggestion data. Existing mentions browser coverage retains signed channel/reply tags, plugin disable and membership rejection. Other typeahead cases retain native keyboard/caret/IME, real providers, ThreadPanel and portal geometry.

The installed notification-producer/disable/OS-click-to-Settings journey remains: isolated service navigation is not equivalent to that integration. All sidebar geometry and cross-window unread cases remain.

Negative controls: breaking membership filtering, stale completion fencing and notification deduplication triggered failures during migration. Additional controls disabled Settings subscription (both mounted cases failed) and made an earlier mention trigger incorrectly win over emoji (both channel/reply cases failed). All temporary production mutations were restored.

Current local checks: full Vitest 149 files / 1,558 tests passed; affected retained browser files plus mentions integration passed 58/58 in Chromium/WebKit. TypeScript, Biome, diff checks and pre-push passed. Local timings are not a CI speedup claim.

Hosted results compare unchanged #81 with this candidate. Runner/worker configuration is unchanged. Full gate means earliest job start through required-gate completion, excluding queue time.

Run Full required-gate interval Slowest browser step
Baseline attempt 2 9m10s 464.2s
Fresh baseline attempt 3 9m04s 461.4s
Candidate attempt 1 9m39s 461.0s
Candidate attempt 2 8m38s 372.3s

Both candidate gates passed, with 378 browser executions and exactly the planned 16 removals from the 394-execution baseline. No failures, skips or retries. The changed files saved roughly 35–36s of summed WebKit test work in each run, but they ran on the faster shard. The repeat also sped up untouched files and spent longer in setup, so its improvement cannot be attributed solely to this migration.

There is no consistent full-gate speedup demonstrated: one run was 35s slower than the fresh baseline and one 26s faster. This improves test layering and removes redundant browser work, but is not a proven large CI-latency win. Human/code-owner review is still required. #83 and this branch combine without conflicts, but no combined runtime benchmark has been run; their savings must not be added together.

Co-authored-by: Amp <amp@ampcode.com>
Signed-off-by: Charlie Croom <ccroom@squareup.com>
Amp-Thread-ID: https://ampcode.com/threads/T-01a0a149-b278-7550-acc4-356168b0c4b5
@comp615

comp615 commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator Author

🤖 Closing at Charlie’s request to focus review on #81#83. Both full CI attempts passed, but this migration did not demonstrate a consistent gate-time improvement. Keeping the branch and mounted coverage available for later reuse.

@comp615 comp615 closed this Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant