Skip to content

test: cut duplicated and misplaced tests across the pyramid - #707

Merged
pedronauck merged 99 commits into
mainfrom
test-pyramid
Oct 8, 2026
Merged

pedronauck merged 99 commits into
mainfrom
test-pyramid

Conversation

@pedronauck

@pedronauck pedronauck commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Summary

Our test suite was heavy on CI and on developer machines. This PR audits the whole test pyramid (Go unit/integration/runtime E2E, Vitest, Playwright web E2E, Electron desktop E2E) for four kinds of waste and removes it without dropping any distinct invariant:

  1. Same-layer duplicates. Examples: identical HTTP/UDS handler bodies, the same 404 mapping asserted twice, tests of test doubles.
  2. Wrong layer. Browser journeys that only assert component logic, which moved down to Vitest. Mock-only unit tests that re-proved an integration owner, which were deleted.
  3. Excessive cases. Table rows in the same equivalence class.
  4. Expensive setup paid repeatedly. A daemon/browser/Electron boot per assertion, a full migration replay per subtest, real sleeps where the package already had a fake clock.

The single largest CI lever: a 60-minute real-time desktop soak ran on every PR (E2E desktop took 75–78 min on main). It now runs only in a new release-gated e2e-desktop-nightly job, mirroring how web already splits @nightly.

Net diff: 553 files, +9,515 / −27,269 lines. Production code is untouched except for one dead internal wrapper, called out below.

Baseline (main b40b1bf91, CI run 37574793319)

CI job main
E2E desktop 77.8 min (≈60 min is the soak alone)
E2E web shards 1–4 24.2 / 19.4 / 13.0 / 19.9 min. Each shard runs 1 Playwright worker, serially, and every test pays a full daemon + browser runtime.
E2E runtime 15.3 min (TestDaemonE2E* 6.2 min, CLI remote-gateway 95 s)
Go race unit shards 1–8 14.6 / 11.2 / 8.2 / 5.6 / 4.0 / 4.7 / 7.4 / 4.2 min

Results

Measured on CI (this PR vs main)

Lane main (run 37574793319) this PR (runs 37683809623 → 37694078772, final head)
E2E desktop (job) 77.7 min 16.6 → 13.1 min (soak moved to the release lane)
E2E web, Playwright test phase (4 shards, 1 worker each) 18.7 + 13.4 + 7.5 + 14.2 = 53.8 min, 292 tests 11.7 + 8.0 + 8.4 + 9.9 = 38.0 → 9.4 + 10.3 + 12.3 + 12.4 = 44.4 min, 224 tests (−17% to −29%)
E2E web, slowest shard (test phase) 18.7 min 11.7 → 12.4 min
E2E runtime (job) 15.3 min 16.0 → 15.4 min (unchanged; its critical path is web build + TestDaemonE2E* boots)

E2E web job wall time is still dominated by per-shard setup (Bun install, Playwright, web build, codegen check), which this PR does not change. The test phase is where the cut lands.

Go race shards, Frontend and other job wall times are not comparable between the two runs:

  • main's push run reused the Go test cache and a Turbo cache hit (Frontend 1.6 min).
  • This PR touches ~550 files across most Go packages and web suites, so CI re-ran everything cold.
  • Go time is better read from the per-package local measurements below.
  • gotest_census.json will rebalance the Go shards from this PR's timings in the next weekly census refresh.

Test counts

The counts below are static (func Test, t.Run(, it(/test(), except for Playwright, where they are collected.

Surface main this PR Δ
Playwright web E2E, PR lane (collected, --grep-invert @nightly) 292 tests / 40 specs 224 tests / 39 specs −68 (−23%)
Playwright desktop E2E, PR lane (collected) 30 (incl. 60-min soak) 25 (soak → release nightly) −5, ≈ −60 min/PR
Go func Test* 6,210 6,019 −191
Go t.Run( call sites 12,056 11,871 −185
Go *_test.go files 1,256 1,244 −12
Vitest web/src cases 6,293 6,031 −262
Vitest packages/ui cases 785 674 −111
Vitest packages/site cases 273 234 −39
lint-plugins cases 50 36 −14

Where the CI time goes away

  • Desktop soak → release nightly (≈60 min per PR). The test @nightly Should bound catalog requests during sixty minutes of native desktop uptime keeps its body and assertions byte-for-byte. Wiring:

    • desktop/package.json: test:e2e uses --grep-invert @nightly; the new test:e2e:nightly uses --grep @nightly.
    • Makefile: new test-e2e-desktop-nightly target.
    • desktop/scripts/run-e2e-linux.sh: takes the script name, defaulting to test:e2e.
    • release.yml: new e2e-desktop-nightly job, gated exactly like e2e-nightly (release PRs only) and with the same setup as CI e2e-desktop. It uploads its receipt artifacts on always(), because ET-web-sessions-catalog-modal requires the receipt to be retained.
  • Storybook-driven "E2E" moved to Vitest (≈8–9 min out of the slowest web shard).

    • loops-graph-eng.spec.ts started a storybook dev server (≈2m13s cold start on shard 1) and drove component stories through a browser for ≈6.5 min.
    • Every case (E2E-019/020/021/022/024–031 and the enum case) now lives in loop-run-page.test.tsx / loop-editor.test.tsx against the real components, hooks and routes, and the spec is deleted.
    • E2E-029/030 were failing on main. The diagnosis, from the CI artifacts: the Storybook click left "No node selected", which is selection/geometry drift in the story harness, not a product regression. The route-default control and bell-to-form focus are now proven at the component layer. Physical graph clicks stay covered by the real-daemon loops.spec.ts.
  • Merged sibling browser journeys (web and desktop). Sibling tests that each paid an identical runtime (isolated home + daemon boot + seed + browser context + artifact capture) are now one journey with test.step. Every assertion and every cold/empty precondition comes first; negative security/isolation checks stay where earlier steps cannot mask them.

  • Cheaper per-test browser runtime. web/e2e/fixtures/runtime-database.ts + runtime-database-seeder build one closed, pre-migrated SQLite template per Playwright worker and copy it (COPYFILE_EXCL) into each runtime's private home. The same copy-on-test pattern is used by internal/testutil/storeseed. First-boot assets, onboarding, migration validation and logging still run on daemon open, and nothing mutable is shared.

  • Go unit-time fixes (measured locally, non-race, -p 1; CI runs -race, typically 3–10× slower):

    Package Before After
    internal/api/core 38.5 s 5.1 s
    internal/api/httpapi 30.6 s 2.6 s
    internal/settings 54 s (census) 1.2 s (measured)
    TestDaemonNativeTools/…Memory admin tools 23.8 s 1.1 s
    TestHarnessReentryBridgeScenarios/* ≈5.4 s each ≈0.4 s each
    internal/subprocess 2.1 s 0.3 s
    internal/testutil/e2e harness 52 s 37 s
    CLI remote-gateway E2E (unchanged) no third daemon boot; runtime lane binary reused

    The techniques: closed-seed copies instead of per-test migration, real sleeps → existing fake clocks, t.Parallel() only where state is private, and one populated migration upgrade per test instead of one per subtest.

How the work was done

The work ran as a herdr orchestration:

  • 18 parallel Codex gpt-6-astra (medium) workers, each on a file-disjoint slice in its own worktree. The slices covered E2E sessions/work/config/infra/desktop, the daemon E2E lane, daemon, store, api, cli, loop, session, extension, platform A/B, web A/B, and ui/site.
  • Passes 2/3 focused on wall time and on moving browser assertions down.
  • A Claude controller reviewed every slice and merged it into this branch.
  • A final review by Codex gpt-6-astra at xhigh read all 548 changed paths, with six sub-reviewers partitioned by area.

Binding rules for every deletion:

  • Never delete the only owner of an invariant. Every removed test names its surviving owner (path::Test / path › describe › it) or is classified non-product (test-double self-test, private slot/CSS/data-attribute artifact, type-only mirror of generated OpenAPI). Per-slice reports list every change with owner and rationale.
  • Direction rule (cross-slice safety). A deletion may only be justified by an owner in the same slice or at a lower layer, never because an E2E covers it. All 52 cross-slice citations were re-checked after integration. Two needed triage, and both are covered:
    • The menubar update-indicator states are owned by the pure settingsUpdateIndicatorAvailable predicate plus the component's absent-on-false case.
    • The restart-status citation is an it.each $name row.
  • Security, concurrency, migration (SD-013) and isolation tests are deduped only on an exact same invariant. Their boundary cases are untouched. The xhigh review explicitly re-verified the store migration replay consolidation.
  • No assertion was weakened to make something pass. Pre-existing local timing flakes (internal/session stop deadlines, internal/extension host-API deadlines under machine load) were left untouched and reported, not "fixed" in tests.

Per-area highlights

Web E2E (Playwright)
  • sessions / shell / attention: −23 tests via merged runtime journeys. E2E-021 indicator-state matrix → component and predicate owners.
  • config: −14 (agents, settings, extensions, marketplace, profiles, vault, skill-sources). Settings restart-failure UI → SettingsRestartNotice Vitest.
  • work: −31 (tasks, loops, automation, triggers, jobs, worktrees, terminal). loops-graph-eng.spec.ts deleted after its cases moved down; 14 Vitest cases added.
  • infra:
    • −9 fixture self-tests that only exercised the harness.
    • Per-worker pre-migrated DB template, guarded by a real SQLite isolation test.
    • TestStartRuntimeHarness* boots shared where the invariants allow.
  • QA scenario references (docs/qa/scenarios/*, 12 files) were updated for merged or moved IDs. Merged titles keep both IDs (e.g. E2E-004 / E2E-013: …) so references resolve. CI evidence globs (*session-harden*, *session-bulk-act*, *E2E-020*, *marketplace*, *worktrees*) still match.
Desktop
  • Soak → release nightly (above).
  • Persistence and lifecycle journeys merged, giving fewer Electron launches. Native foreground, clipboard, crash, global-shortcut and security tests keep isolated launches.
  • A mock-only release HTTP rehearsal was removed: it asserted its own fixture strings.
Go
  • api:
    • Identical httpapi/udsapi test bodies deduped. Transport packages keep transport concerns; core keeps business mapping.
    • Stub self-tests and private method-name reflection tests removed.
    • OpenAPI spec tests build the document once per parent.
  • cli:
    • Pure renderers/command-path checks moved out of the integration tag.
    • Repeated integration daemons consolidated.
    • Harness-only stopAndWait tests removed.
  • daemon / daemon E2E:
    • Duplicate cases and fake-session-manager self-tests removed.
    • Expensive fixtures shared; the E2E critical path shortened.
    • The 65 s clarify-keepalive wall-clock wait is reported, not hidden: it is integration-only, not in the PR lane.
  • store:
    • Cached migration prefixes are reused, eliminating 182 redundant empty migration applications per run.
    • Populated hotspot upgrades now happen once per test, with isolated head copies for mutating cases.
    • Every upgrade invariant retained.
  • loop / task / automation / scheduler:
    • Duplicate webhook/scheduler coverage removed.
    • A teardown wait virtualized.
    • Automation schema seeds reused.
  • session / acp / terminal:
    • Deadline waits virtualized.
    • The acpmock build is shared.
    • Protocol duplicates owned by internal/acp removed.
  • extension / hooks / registry / marketplace / skills:
    • Fixtures and catalog/installer setup reduced.
    • Duplicate hook invariants merged.
  • platform A/B (config, settings, memory, observe, resources, codegen, mcp, gateway, tools, worktree, magefiles, …): table-row trims, shared seeds, and parallelization of independent codegen/MCP checks.
Vitest (web, packages/ui, packages/site, lint-plugins)
  • Removed:
    • MSW handler/fixture self-tests, which tested the fake daemon rather than the product.
    • Type-only mirrors of generated OpenAPI types (typecheck and codegen own drift).
    • Duplicate component renders.
    • Private data-slot/data-variant/class assertions with no product contract.
  • Real waits: replaced by fake timers or awaited events.
  • lint-plugins: duplicate rule fixtures trimmed and slow cases consolidated (e.g. compozy-design-system.test.mjs 7.9 s → 2.6 s, data-boundaries.test.mjs 3.0 s → 0.5 s).

Non-test changes (all deliberate)

  • CI and release wiring for the soak:
    • .github/workflows/release.yml: new e2e-desktop-nightly job (release PRs only, timeout-minutes: 120).
    • Makefile: test-e2e-desktop-nightly (new target; nothing removed).
    • desktop/package.json: test:e2e excludes @nightly; new test:e2e:nightly.
    • desktop/scripts/run-e2e-linux.sh: optional script-name arg, defaulting to the previous behavior.
  • Docs:
    • docs/_memory/glossary.md: one entry for the new lane.
    • docs/qa/scenarios/*: reference lines only; no scenario status changed.
  • internal/api/udsapi/extensions.go: removed the unexported extensionStatusCode wrapper. Its only caller was a duplicate test of core.ExtensionStatusCode. Internal code, no public surface.

Cross-surface impact audit

  • Native tools, hooks/extensibility, config keys, CLI verbs/flags, HTTP/UDS routes/DTOs, compozy__* IDs: no change.
  • Workspace data isolation: no product change. Isolation tests retained; the new E2E DB template copies are per-home.
  • Official skill (skills/compozy/), Web, and site docs: not applicable. The changes are test-only plus CI lane wiring and QA reference lines.
  • Compatibility regimes (SD-013): user state not affected. The only public-ish change is the additive make test-e2e-desktop-nightly. The desktop soak's PR-lane execution moves to the release lane: coverage is retained at the release gate, not deleted.

Verification

Local, on the integrated branch. Heavy gates are delegated to this PR's CI.

  • go vet on every changed package, untagged and with -tags integration. Also magefiles (-tags mage) and sdk/go.
  • golangci-lint v2.13.1 on every changed package, magefiles and sdk/go: 0 issues. This includes fallout fixes: trailing blank lines, golines, an ineffectual ctx, and integration-only helpers moved next to their tagged callers.
  • gofmt, oxfmt --check and oxlint --deny-warnings on all changed files: clean.
  • Typecheck:
    • web, packages/ui and desktop: pass.
    • packages/site: pass via turbo run typecheck, which runs the generated-content prerequisites.
  • Targeted tests:
    • loop-run-page.test.tsx: 99/99.
    • combobox.test.tsx: 5/5.
    • runtime-seed.test.ts: 11/11.
    • internal/settings, internal/api/udsapi, TestGlobalDBAutomationSuggestionMigrations, CLI terminal renderers: pass.
    • Each worker ran its touched packages/files; per-slice evidence is in the slice reports.
  • Playwright: collection only, with --list for both --grep-invert @nightly and --grep @nightly, for web and desktop. Browser execution is owned by CI.
  • Final Codex xhigh review: approve-with-fixes, 0 blockers, 0 majors. Both minor findings were fixed in 33adffd43, then re-verified by the same reviewer.
    • The combobox merge lost the single-selection chip precondition.
    • The soak receipt upload had to be always().

CI round-1 fixes (after the first PR run)

The first CI run exposed integration issues that only show up in CI. All were fixed without weakening assertions:

  • internal/config release-workflow contract counted five jobs with the semantic release-PR trigger. The new e2e-desktop-nightly job is the sixth, so the inventory moved to 6; the conventional-trigger and preflight-order assertions are unchanged.
  • CLI SSH remote-gateway E2E. Reusing the stamped runtime-lane binary as the remote daemon tripped the version-compatibility check (a579dd60 vs dev). It builds its own remote binary again; the consolidated reuse journey stays.
  • Six merged browser journeys carried state between steps. Examples: a window minimized by an earlier step, a fork leaving two overflow buttons in one frame, the Agents window not re-opened, Tasks route mode not restored. Each was fixed from the CI error-context.md snapshots and screenshots. Budgets of merged journeys that legitimately need both halves are now the sum of the original budgets (180 s).
  • loop-runs.test.tsx (moved E2E-030). It now awaits route loading and lazy window imports before findBy; it was flaky under the CI Turborepo run.
  • runtime-seed.test.ts / DB template. The seeder is prebuilt once by the E2E lane (COMPOZY_TEST_DATABASE_SEEDER_BIN) instead of go run per worker. The real Go/SQLite self-test gets an explicit 180 s budget for the cold compile.
  • Greptile review (P2): two QA scenario evidence values appended for the moved E2E-029/030 owners broke YAML frontmatter (text after a closed "", unquoted : ) — now fully quoted; every scenario touched by this PR parses ([email protected]).
  • Infrastructure-only reruns. Two Go shards and one desktop attempt hung in apt-get (Azure Ubuntu mirror) before any test ran.

Follow-ups (deferred, not in this PR)

  • The internal/daemon clarify-keepalive test waits 65 s of real time (integration-only). It needs a production clock seam to virtualize.
  • A worker-scoped web E2E daemon was rejected: settings/profile journeys mutate daemon-wide state, so it would need a reset protocol first.
  • Two Storybook-infra specs remain (storybook-bootstrap, packages-ui-storybook-overlays). Each pays a storybook dev cold start; serving a cached static build is the next lever.
  • The census still lists ~900 s of -race time for six store migration tests that now run in 2–5 s locally without race. Refreshing gotest_census.json from this PR's CI timings will rebalance the Go shards.
  • Pre-existing, load-sensitive timing tests in internal/session (stop deadlines) and internal/extension (host-API deadlines) fail locally under heavy machine load on main too. They were not changed.

🤖 Generated with Claude Code

pedronauck and others added 30 commits October 7, 2026 10:42
Keep resource loading and memory recall coverage in their existing owning suites.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Remove duplicate component mounts, repeated adapter and lifecycle checks,
and fixture-only or private markup assertions from the web-b slice.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Reuse attention, shell, and harness setup while retaining their distinct assertions.
Keep update-state rendering in its existing component suite and preserve real navigation coverage.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Move mocked restart presentation into its component suite, deduplicate update projection and default-agent smoke coverage, and drop dialog styling assertions. Preserve real daemon journeys and update QA owner references.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Keep isolation, readiness, portal scoping, and real daemon contracts while dropping mock selector echoes, duplicate lane and HTML checks, and the unit-only daemon build probe.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Keep the sixty-minute invariant intact and share the Settings renderer with native Edit assertions.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Preserve real populated upgrades and every credential assertion while avoiding five empty prefix replays. Fold fresh catalog readback into the existing fresh-boot and reopen journey.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Share static showcase setup, consolidate the Storybook handler contract,
and remove duplicated workspace checks and presentation-only assertions.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Retain canonical subprocess I/O, native pipeline, source validation and resolved hook validation owners.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Review every owned suite, retain behavioral contracts, and consolidate duplicate lifecycles.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Remove fake self-tests, redundant alias and equivalence cases, and duplicate
command checks. Preserve distinct assertions in existing lifecycle suites
and move pure terminal contracts into untagged tests.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Consolidate equivalent handler and resource checks while preserving transport and isolation journeys.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Move error classification to its pure owner, consolidate installation assertions, and virtualize retry waits.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Share test-scoped runtimes across compatible sibling journeys using named steps. Preserve assertions and cold-state ordering, keep security negatives isolated, and reselect profile identity after workspace changes.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Remove tautological SDK and skill assertions and share existing bundle installation and artifact fixtures.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Merge fixture launch checks into the agent isolation journey and leave
boolean health and local CLI validation matrices with their lower owners.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Remove fake-only MSW/router tests, exact duplicate invariants, and private
presentation checks. Preserve behavioral and accessibility assertions in
canonical suites while reducing repeated renders.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Preserve deep-link validation before launch bursts and run healthy diagnostics before shell relaunch. Select nightly through the shared Linux wrapper.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Remove duplicate and fake-only tests across the platform slice while preserving
security, concurrency, and persistence assertions in their canonical suites.
Reuse isolated database seeds and avoid index rebuilds used only by Scan setup.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
pedronauck and others added 3 commits October 7, 2026 12:00
Addresses the final xhigh review: the merged multi-select case now checks
exactly one chip after the first selection and two after the second, and the
release desktop nightly lane uploads its artifacts on success too, so the
sixty-minute catalog receipt required by ET-web-sessions-catalog-modal stays
retained.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Deleted tests left blank lines before closing braces, long boolean chains
over the golines limit, an ineffectual context reassignment, and helpers
that only integration-tagged files still use. Move those helpers next to
their integration-tagged callers instead of deleting them, order the
settings DB helper parameters context-first, and drop the udsapi
extensionStatusCode wrapper whose only caller was the removed duplicate
transport test.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@vercel

vercel Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
compozy-site Ready Ready Preview Oct 7, 2026 10:09pm UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 506 files, which is 206 over the limit of 300.

To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration
  • Configuration used: Repository: compozy/compozy/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2f57908c-4967-4b07-9d33-49c9b2941948
📥 Commits

Reviewing files that changed from the base of the PR and between b40b1bf and 5584572.

⛔ Files ignored due to path filters (47)
  • .github/workflows/release.yml is excluded by !**/*.yml
  • desktop/package.json is excluded by !**/*.json
  • docs/_memory/glossary.md is excluded by !**/*.md
  • docs/qa/scenarios/APP-web-update-indicator.md is excluded by !**/*.md
  • docs/qa/scenarios/APP-web-update-two-track.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-web-desktop-shell-lifecycle.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-web-sessions-catalog-modal.md is excluded by !**/*.md
  • docs/qa/scenarios/LP-web-bell-loop-requests.md is excluded by !**/*.md
  • docs/qa/scenarios/LP-web-editor-route-ask.md is excluded by !**/*.md
  • docs/qa/scenarios/LP-web-request-answer-card.md is excluded by !**/*.md
  • docs/qa/scenarios/LP-web-run-diff-view.md is excluded by !**/*.md
  • docs/qa/scenarios/MS-web-settings-takeover-redesign.md is excluded by !**/*.md
  • docs/qa/scenarios/RT-provider-error-handoff.md is excluded by !**/*.md
  • docs/qa/scenarios/RT-web-session-all-workspaces.md is excluded by !**/*.md
  • docs/qa/scenarios/TA-scheduled-session-restart-recovery.md is excluded by !**/*.md
  • web/e2e/__tests__/agents.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/attention.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/automation.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/dashboard.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/extensions.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/harness-smoke.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/jobs-hardening.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/knowledge.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/loop-run.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/loops-graph-eng.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/loops.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/marketplace.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/os-shell.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/profiles.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/session-derive.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/session-hardening.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/settings-hardening.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/settings.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/skill-sources.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/tasks-coordinator-handoff.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/tasks-hardening.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/tasks.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/terminal.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/triggers-hardening.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/vault.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/worktrees.spec.ts is excluded by !web/e2e/**
  • web/e2e/fixtures/__tests__/artifacts.test.ts is excluded by !**/fixtures/**, !web/e2e/**
  • web/e2e/fixtures/__tests__/runtime-seed.test.ts is excluded by !**/fixtures/**, !web/e2e/**
  • web/e2e/fixtures/__tests__/selectors.test.ts is excluded by !**/fixtures/**, !web/e2e/**
  • web/e2e/fixtures/runtime-database-seeder/main.go is excluded by !**/fixtures/**, !web/e2e/**
  • web/e2e/fixtures/runtime-database.ts is excluded by !**/fixtures/**, !web/e2e/**
  • web/e2e/fixtures/runtime.ts is excluded by !**/fixtures/**, !web/e2e/**
📒 Files selected for processing (506)
  • Makefile
  • cmd/compozy-codegen/main_test.go
  • cmd/compozy-codegen/terminal_wire_test.go
  • desktop/e2e/_electron/__tests__/shell.spec.ts
  • desktop/scripts/run-e2e-linux.sh
  • desktop/src/release/__tests__/release.test.ts
  • extensions/open-design/linter/__tests__/index.test.ts
  • extensions/spec-cycle/embed_test.go
  • extensions/spec-cycle/review_artifacts_test.go
  • internal/acp/client_integration_test.go
  • internal/acp/client_prompt_contract_test.go
  • internal/acp/client_start_contract_test.go
  • internal/acp/handlers_test.go
  • internal/api/contract/tasks_test.go
  • internal/api/core/agent_category_payload_test.go
  • internal/api/core/authored_context_test.go
  • internal/api/core/automation_additional_test.go
  • internal/api/core/automation_test.go
  • internal/api/core/gateway_handlers_test.go
  • internal/api/core/handler_edge_cases_test.go
  • internal/api/core/handlers_internal_test.go
  • internal/api/core/handlers_test.go
  • internal/api/core/memory_services_test.go
  • internal/api/core/memory_workspace_test.go
  • internal/api/core/model_catalog_test.go
  • internal/api/core/onboarding_test.go
  • internal/api/core/session_attachments_test.go
  • internal/api/core/settings_test.go
  • internal/api/core/tasks_integration_test.go
  • internal/api/core/tasks_surface_integration_test.go
  • internal/api/ginutil/quiet_debug_test.go
  • internal/api/httpapi/extension_logs_sse_test.go
  • internal/api/httpapi/gateway_integration_test.go
  • internal/api/httpapi/handlers_error_test.go
  • internal/api/httpapi/handlers_test.go
  • internal/api/httpapi/hooks_integration_test.go
  • internal/api/httpapi/hooks_test.go
  • internal/api/httpapi/memory_test.go
  • internal/api/httpapi/model_catalog_test.go
  • internal/api/httpapi/prompt_contract_test.go
  • internal/api/httpapi/server_test.go
  • internal/api/httpapi/stream_helpers_test.go
  • internal/api/spec/authored_context_test.go
  • internal/api/spec/loops_test.go
  • internal/api/spec/marketplace_test.go
  • internal/api/spec/operations_refac_test.go
  • internal/api/spec/spec_test.go
  • internal/api/spec/terminal_public_wire_test.go
  • internal/api/testutil/apitest_test.go
  • internal/api/testutil/worktree_transport_parity_test.go
  • internal/api/udsapi/extensions.go
  • internal/api/udsapi/extensions_additional_test.go
  • internal/api/udsapi/handlers_test.go
  • internal/api/udsapi/helpers_test.go
  • internal/api/udsapi/memory_test.go
  • internal/api/udsapi/model_catalog_test.go
  • internal/api/udsapi/resources_test.go
  • internal/api/udsapi/server_test.go
  • internal/api/udsapi/shared_test.go
  • internal/api/udsapi/stream_helpers_test.go
  • internal/api/udsapi/udsapi_integration_test.go
  • internal/automation/dispatch_stop_timeout_test.go
  • internal/automation/dispatch_test.go
  • internal/automation/manager_test.go
  • internal/automation/model/template_test.go
  • internal/automation/template_test.go
  • internal/automation/validate_test.go
  • internal/cli/api_state_verb_commands_test.go
  • internal/cli/automation_test.go
  • internal/cli/cli_integration_test.go
  • internal/cli/client_test.go
  • internal/cli/cmd_palette_test.go
  • internal/cli/command_paths_test.go
  • internal/cli/daemon_exec_test.go
  • internal/cli/daemon_wait_readiness_test.go
  • internal/cli/daemon_wait_test.go
  • internal/cli/doc_test.go
  • internal/cli/docpost/docpost_test.go
  • internal/cli/extension_marketplace_integration_test.go
  • internal/cli/extension_test.go
  • internal/cli/gateway_ssh_e2e_integration_test.go
  • internal/cli/lifecycle_test.go
  • internal/cli/loop_read_commands_test.go
  • internal/cli/memory_test.go
  • internal/cli/profile_test.go
  • internal/cli/provider_test.go
  • internal/cli/render_test.go
  • internal/cli/session_test.go
  • internal/cli/skill_test.go
  • internal/cli/update_command_test.go
  • internal/cli/window_manager_test.go
  • internal/cli/workspace_test.go
  • internal/cmdpalette/view_test.go
  • internal/codegen/openapits/generate_test.go
  • internal/codegen/sdkgo/generate_test.go
  • internal/config/agent_capabilities_test.go
  • internal/config/agent_test.go
  • internal/config/automation_test.go
  • internal/config/bootstrap_test.go
  • internal/config/config_test.go
  • internal/config/dotenv_test.go
  • internal/config/gateway_test.go
  • internal/config/hermetic_env_test.go
  • internal/config/home_permissions_test.go
  • internal/config/mcpjson_test.go
  • internal/config/persistence_integration_test.go
  • internal/config/persistence_test.go
  • internal/config/provider_test.go
  • internal/config/release_config_test.go
  • internal/config/tools_test.go
  • internal/daemon/clarify_bridge_test.go
  • internal/daemon/clarify_keepalive_test.go
  • internal/daemon/composed_assembler_test.go
  • internal/daemon/coordinator_runtime_integration_test.go
  • internal/daemon/daemon_attention_e2e_integration_test.go
  • internal/daemon/daemon_extension_distribution_e2e_integration_test.go
  • internal/daemon/daemon_extension_kit_e2e_helpers_test.go
  • internal/daemon/daemon_extension_profile_setup_e2e_integration_test.go
  • internal/daemon/daemon_integration_test.go
  • internal/daemon/daemon_memory_e2e_integration_test.go
  • internal/daemon/daemon_mock_agents_integration_test.go
  • internal/daemon/daemon_session_continue_e2e_integration_test.go
  • internal/daemon/daemon_test.go
  • internal/daemon/extension_commands_integration_test.go
  • internal/daemon/extension_secrets_test.go
  • internal/daemon/extensions_inventory_test.go
  • internal/daemon/extensions_test.go
  • internal/daemon/harness_context_test.go
  • internal/daemon/hook_binding_resources_integration_test.go
  • internal/daemon/hook_binding_resources_test.go
  • internal/daemon/loop_api_runs_test.go
  • internal/daemon/loop_goal_executor_test.go
  • internal/daemon/loop_resources_test.go
  • internal/daemon/loop_runtime_adapters_test.go
  • internal/daemon/loop_runtime_selection_integration_test.go
  • internal/daemon/native_automation_tools_integration_test.go
  • internal/daemon/native_extension_tools_test.go
  • internal/daemon/native_tools_test.go
  • internal/daemon/restart_integration_test.go
  • internal/daemon/restart_test.go
  • internal/daemon/review_router_test.go
  • internal/daemon/scheduler_runtime_test.go
  • internal/daemon/settings_runtime_applier_test.go
  • internal/daemon/settings_test.go
  • internal/daemon/spawn_reaper_test.go
  • internal/daemon/task_run_activation_dispatch_test.go
  • internal/daemon/task_runtime_boot_roles_test.go
  • internal/daemon/task_runtime_test.go
  • internal/daemon/task_status_projection_observer_test.go
  • internal/daemon/terminal_window_bridge_test.go
  • internal/daemon/tool_mcp_resources_test.go
  • internal/daemon/tools_transport_parity_test.go
  • internal/daemon/window_manager_repository_test.go
  • internal/diagnostics/item_constructor_test.go
  • internal/e2elane/lanes_test.go
  • internal/extension/agentplugin/mcp_test.go
  • internal/extension/build_test.go
  • internal/extension/describe_test.go
  • internal/extension/host_api_integration_test.go
  • internal/extension/host_api_test.go
  • internal/extension/install_managed_test.go
  • internal/extension/manager_integration_test.go
  • internal/extension/manager_test.go
  • internal/extension/manifest_test.go
  • internal/extension/marketplace_lifecycle_test.go
  • internal/extension/memory_provider_registry_test.go
  • internal/extension/model_source_test.go
  • internal/extension/reference_support_test.go
  • internal/extension/reference_support_unit_test.go
  • internal/extension/registry_test.go
  • internal/extension/tool_provider_test.go
  • internal/extensionprotocol/host_api_test.go
  • internal/fileutil/targzip_test.go
  • internal/gateway/device_service_test.go
  • internal/gateway/ingress_test.go
  • internal/gateway/stream_ticket_test.go
  • internal/heartbeat/authoring_status_test.go
  • internal/heartbeat/wake_test.go
  • internal/hooks/executor_test.go
  • internal/hooks/normalize_test.go
  • internal/hooks/pipeline_test.go
  • internal/hooks/types_test.go
  • internal/logger/logger_test.go
  • internal/loop/coordinator_control_test.go
  • internal/loop/coordinator_lifecycle_test.go
  • internal/loop/gate/evaluator_test.go
  • internal/loop/goal/executor_test.go
  • internal/loop/linter_test.go
  • internal/loop/runtime_validation_test.go
  • internal/loop/service_integration_test.go
  • internal/loop/service_test.go
  • internal/marketplace/pluginsource/reader_test.go
  • internal/marketplace/service_integration_test.go
  • internal/marketplace/service_test.go
  • internal/marketplace/store_test.go
  • internal/mcp/executor_test.go
  • internal/memory/assembler_test.go
  • internal/memory/catalog_migration_test.go
  • internal/memory/consolidation/runtime_test.go
  • internal/memory/contract/contract_test.go
  • internal/memory/dream_test.go
  • internal/memory/extractor/runtime_test.go
  • internal/memory/prompts/registry_test.go
  • internal/memory/store_test.go
  • internal/modelcatalog/hardcut_residue_test.go
  • internal/modelcatalog/live_sources_test.go
  • internal/modelcatalog/service_test.go
  • internal/modelcatalog/sources_test.go
  • internal/observe/helpers_test.go
  • internal/observe/observer_test.go
  • internal/observe/overview_test.go
  • internal/observe/tasks_integration_test.go
  • internal/observe/tasks_test.go
  • internal/profile/manager_test.go
  • internal/registry/installer_integration_test.go
  • internal/registry/installer_test.go
  • internal/registry/source_test.go
  • internal/resources/kernel_test.go
  • internal/resources/reconcile_integration_test.go
  • internal/resources/reconcile_test.go
  • internal/resources/typed_integration_test.go
  • internal/resources/typed_test.go
  • internal/scheduler/scheduler_test.go
  • internal/session/additional_test.go
  • internal/session/badge_test.go
  • internal/session/log_capture_test.go
  • internal/session/manager_integration_test.go
  • internal/session/manager_lifecycle_contract_test.go
  • internal/session/manager_prompt_contract_test.go
  • internal/session/manager_resume_test.go
  • internal/session/manager_stop_integration_test.go
  • internal/session/manager_test.go
  • internal/session/provider_lifecycle_integration_test.go
  • internal/session/provider_lifecycle_test.go
  • internal/session/query_test.go
  • internal/session/session_wait_test.go
  • internal/session/soul_test.go
  • internal/sessions/ledger/materializer_test.go
  • internal/settings/config_apply_service_test.go
  • internal/settings/mcp_runtime_status_test.go
  • internal/settings/service_integration_test.go
  • internal/settings/service_test.go
  • internal/situation/service_test.go
  • internal/skills/catalog_test.go
  • internal/skills/loader_test.go
  • internal/skills/provenance_test.go
  • internal/skills/registry_test.go
  • internal/skills/watcher_test.go
  • internal/store/globaldb/global_db_app_metadata_test.go
  • internal/store/globaldb/global_db_automation_test.go
  • internal/store/globaldb/global_db_loop_schema_integration_test.go
  • internal/store/globaldb/global_db_loop_test.go
  • internal/store/globaldb/global_db_marketplace_catalog_test.go
  • internal/store/globaldb/global_db_mcp_auth_test.go
  • internal/store/globaldb/global_db_model_catalog_test.go
  • internal/store/globaldb/global_db_notification_cursor_test.go
  • internal/store/globaldb/global_db_session_input_queue_test.go
  • internal/store/globaldb/global_db_session_test.go
  • internal/store/globaldb/global_db_task_claim_test.go
  • internal/store/globaldb/global_db_task_events_index_test.go
  • internal/store/globaldb/global_db_task_graph_audit_integration_test.go
  • internal/store/globaldb/global_db_task_integration_test.go
  • internal/store/globaldb/global_db_task_test.go
  • internal/store/globaldb/global_db_test.go
  • internal/store/migrate_streams_test.go
  • internal/store/sessiondb/hook_runs_test.go
  • internal/store/sessiondb/session_db_test.go
  • internal/store/store_helpers_test.go
  • internal/subprocess/process_integration_test.go
  • internal/subprocess/process_shutdown_test.go
  • internal/subprocess/process_test.go
  • internal/task/interfaces_integration_test.go
  • internal/task/manager_integration_test.go
  • internal/task/manager_test.go
  • internal/terminal/manager_test.go
  • internal/terminal/pty/pty_test.go
  • internal/testutil/acpmock/driver_cancel_test.go
  • internal/testutil/acpmock/driver_test.go
  • internal/testutil/acpmock/fixture_test.go
  • internal/testutil/e2e/runtime_harness_integration_test.go
  • internal/testutil/e2e/runtime_harness_lifecycle_test.go
  • internal/testutil/mcpfixture/fixture_test.go
  • internal/testutil/mcpfixture/oauth_test.go
  • internal/tools/builtin/builtin_test.go
  • internal/tools/native_test.go
  • internal/tools/registry_test.go
  • internal/transcript/transcript_test.go
  • internal/transcript/transcript_test_support_test.go
  • internal/update/manager_check_test.go
  • internal/windowmanager/layout_commands_test.go
  • internal/windowmanager/lifecycle_test.go
  • internal/windowmanager/zoom_test.go
  • internal/workspace/workspace_test.go
  • internal/worktree/adopt_test.go
  • internal/worktree/create_test.go
  • internal/worktree/exit_plan_test.go
  • internal/worktree/worktree_integration_test.go
  • lint-plugins/__tests__/compozy-design-system.test.mjs
  • lint-plugins/__tests__/data-boundaries.test.mjs
  • lint-plugins/__tests__/ui-primitive-reuse.test.mjs
  • magefiles/defaults.go
  • magefiles/deps_lint_test.go
  • magefiles/e2e.go
  • magefiles/magefile_test.go
  • packages/site/app/__tests__/global.test.ts
  • packages/site/components/landing/__tests__/landing.test.tsx
  • packages/site/components/site/__tests__/sidebar-section-label.test.tsx
  • packages/site/lib/__tests__/docs-api-reference.test.ts
  • packages/site/lib/__tests__/provider-model-catalog-docs.test.ts
  • packages/site/lib/__tests__/public-search-index.test.ts
  • packages/site/lib/__tests__/runtime-authored-context-docs.test.ts
  • packages/site/lib/__tests__/runtime-autonomy-docs.test.ts
  • packages/site/lib/__tests__/runtime-docs-truth.test.ts
  • packages/site/lib/__tests__/runtime-manual-api-routes.test.ts
  • packages/site/lib/__tests__/runtime-tools-canonical-docs.test.ts
  • packages/site/lib/__tests__/source.test.ts
  • packages/ui/src/components/__tests__/accordion.test.tsx
  • packages/ui/src/components/__tests__/alert.test.tsx
  • packages/ui/src/components/__tests__/avatar.test.tsx
  • packages/ui/src/components/__tests__/button-group.test.tsx
  • packages/ui/src/components/__tests__/button.test.tsx
  • packages/ui/src/components/__tests__/card.test.tsx
  • packages/ui/src/components/__tests__/checkbox.test.tsx
  • packages/ui/src/components/__tests__/collapsible.test.tsx
  • packages/ui/src/components/__tests__/combobox.test.tsx
  • packages/ui/src/components/__tests__/command.test.tsx
  • packages/ui/src/components/__tests__/confirm-dialog.test.tsx
  • packages/ui/src/components/__tests__/dialog.test.tsx
  • packages/ui/src/components/__tests__/empty.test.tsx
  • packages/ui/src/components/__tests__/field.test.tsx
  • packages/ui/src/components/__tests__/icon.test.tsx
  • packages/ui/src/components/__tests__/input-group.test.tsx
  • packages/ui/src/components/__tests__/item.test.tsx
  • packages/ui/src/components/__tests__/kbd.test.tsx
  • packages/ui/src/components/__tests__/native-select.test.tsx
  • packages/ui/src/components/__tests__/popover.test.tsx
  • packages/ui/src/components/__tests__/progress.test.tsx
  • packages/ui/src/components/__tests__/radio-group.test.tsx
  • packages/ui/src/components/__tests__/scroll-area.test.tsx
  • packages/ui/src/components/__tests__/select.test.tsx
  • packages/ui/src/components/__tests__/separator.test.tsx
  • packages/ui/src/components/__tests__/sheet.test.tsx
  • packages/ui/src/components/__tests__/sidebar.test.tsx
  • packages/ui/src/components/__tests__/skeleton.test.tsx
  • packages/ui/src/components/__tests__/slider.test.tsx
  • packages/ui/src/components/__tests__/surface.test.tsx
  • packages/ui/src/components/__tests__/switch.test.tsx
  • packages/ui/src/components/__tests__/table.test.tsx
  • packages/ui/src/components/__tests__/tabs.test.tsx
  • packages/ui/src/components/__tests__/textarea.test.tsx
  • packages/ui/src/components/__tests__/toggle-group.test.tsx
  • packages/ui/src/components/__tests__/toggle.test.tsx
  • packages/ui/src/components/__tests__/tooltip.test.tsx
  • packages/ui/src/components/custom/__tests__/catalog-card.test.tsx
  • packages/ui/src/components/custom/__tests__/code-block.test.tsx
  • packages/ui/src/components/custom/__tests__/detail-inspector.test.tsx
  • packages/ui/src/components/custom/__tests__/editor-footer.test.tsx
  • packages/ui/src/components/custom/__tests__/entity-dialog-footer.test.tsx
  • packages/ui/src/components/custom/__tests__/entity-dialog-toolbar.test.tsx
  • packages/ui/src/components/custom/__tests__/entity-mode-toolbar.test.tsx
  • packages/ui/src/components/custom/__tests__/help-tip.test.tsx
  • packages/ui/src/components/custom/__tests__/kind-icon.test.tsx
  • packages/ui/src/components/custom/__tests__/metric-grid.test.tsx
  • packages/ui/src/components/custom/__tests__/metric.test.tsx
  • packages/ui/src/components/custom/__tests__/mono-id.test.tsx
  • packages/ui/src/components/custom/__tests__/panel.test.tsx
  • packages/ui/src/components/custom/__tests__/qr-code.test.tsx
  • packages/ui/src/components/custom/__tests__/radio-card.test.tsx
  • packages/ui/src/components/custom/__tests__/state-glyph.test.tsx
  • packages/ui/src/components/custom/__tests__/status-dot.test.tsx
  • packages/ui/src/components/custom/__tests__/stream-markdown.test.tsx
  • packages/ui/src/components/custom/__tests__/tool-call-row.test.tsx
  • packages/ui/src/components/terminal/__tests__/terminal-view.test.tsx
  • scripts/air-state-lock/main_test.go
  • scripts/gate_integration_test.go
  • sdk/go/runtime_contract_test.go
  • web/src/components/__tests__/design-system-showcase.test.tsx
  • web/src/components/assistant-ui/__tests__/session-thread.test.tsx
  • web/src/lib/__tests__/format-time.test.ts
  • web/src/lib/__tests__/status-tone.test.ts
  • web/src/routes/_app/__tests__/-tasks.router.integration.test.tsx
  • web/src/routes/_app/settings/__tests__/-general.test.tsx
  • web/src/storybook/__tests__/msw.test.ts
  • web/src/storybook/__tests__/web-storybook-msw-contract.test.ts
  • web/src/systems/agent/components/__tests__/agent-command-multi-select.test.tsx
  • web/src/systems/agent/components/__tests__/agent-command-select.test.tsx
  • web/src/systems/agent/components/__tests__/agent-icon.test.tsx
  • web/src/systems/agent/lib/__tests__/agent-category.test.ts
  • web/src/systems/agent/mocks/__tests__/handlers.test.ts
  • web/src/systems/automation/components/__tests__/automation-detail-panel.test.tsx
  • web/src/systems/automation/components/__tests__/automation-editor-dialog.test.tsx
  • web/src/systems/automation/components/__tests__/automation-job-form.test.tsx
  • web/src/systems/automation/components/__tests__/trigger-detail-panel.test.tsx
  • web/src/systems/automation/mocks/__tests__/handlers.test.ts
  • web/src/systems/dashboard/__tests__/use-home-dashboard.test.tsx
  • web/src/systems/extensions/mocks/__tests__/handlers.test.ts
  • web/src/systems/knowledge/__tests__/types.test.ts
  • web/src/systems/knowledge/components/__tests__/knowledge-create-dialog.test.tsx
  • web/src/systems/knowledge/components/__tests__/knowledge-edit-dialog.test.tsx
  • web/src/systems/knowledge/lib/__tests__/knowledge-type-tone.test.ts
  • web/src/systems/knowledge/lib/__tests__/query-keys.test.ts
  • web/src/systems/knowledge/lib/__tests__/query-options.test.ts
  • web/src/systems/knowledge/mocks/__tests__/handlers.test.ts
  • web/src/systems/loops/adapters/__tests__/loops-api.test.ts
  • web/src/systems/loops/components/__tests__/loop-catalog.test.tsx
  • web/src/systems/loops/components/__tests__/loop-editor.test.tsx
  • web/src/systems/loops/components/__tests__/loop-linter-dock.test.tsx
  • web/src/systems/loops/components/__tests__/loop-run-form.test.tsx
  • web/src/systems/loops/components/__tests__/loop-run-page.test.tsx
  • web/src/systems/loops/components/__tests__/loop-runs-view.test.tsx
  • web/src/systems/loops/components/__tests__/loop-section.test.tsx
  • web/src/systems/loops/components/__tests__/loop-status-mark.test.tsx
  • web/src/systems/loops/lib/__tests__/codec.test.ts
  • web/src/systems/loops/lib/__tests__/loop-editor-lint.test.ts
  • web/src/systems/loops/lib/__tests__/loop-formatters.test.ts
  • web/src/systems/loops/lib/__tests__/loop-node-schema.test.ts
  • web/src/systems/loops/routes/__tests__/loop-runs.test.tsx
  • web/src/systems/marketplace/components/__tests__/marketplace-components.test.tsx
  • web/src/systems/marketplace/components/__tests__/marketplace-detail-manage.test.tsx
  • web/src/systems/marketplace/hooks/__tests__/use-marketplace-actions.test.tsx
  • web/src/systems/marketplace/hooks/__tests__/use-marketplace.test.tsx
  • web/src/systems/onboarding/components/__tests__/onboarding-setup-frame.test.tsx
  • web/src/systems/os/adapters/__tests__/cmd-palette-api.test.ts
  • web/src/systems/os/apps/knowledge/__tests__/use-knowledge-page.test.tsx
  • web/src/systems/os/apps/session/__tests__/session-window.test.tsx
  • web/src/systems/os/apps/settings/__tests__/settings-window-nav.test.tsx
  • web/src/systems/os/components/__tests__/attention-bell.test.tsx
  • web/src/systems/os/components/__tests__/desktop-gate.test.tsx
  • web/src/systems/os/components/__tests__/os-dock.test.tsx
  • web/src/systems/os/components/__tests__/os-palette-view-renderers.test.tsx
  • web/src/systems/os/components/__tests__/os-window-frame.test.tsx
  • web/src/systems/os/components/__tests__/os-window.test.tsx
  • web/src/systems/os/components/menubar/__tests__/menubar-update-indicator.test.tsx
  • web/src/systems/os/hooks/__tests__/use-document-title-badge.test.tsx
  • web/src/systems/os/hooks/__tests__/use-os-palette-root.test.tsx
  • web/src/systems/os/lib/__tests__/palette-session-filters.test.ts
  • web/src/systems/os/lib/__tests__/snap-targets.test.ts
  • web/src/systems/os/mocks/__tests__/handlers.test.ts
  • web/src/systems/os/stores/__tests__/window-manager-store.test.ts
  • web/src/systems/profiles/components/__tests__/profile-aggregate-composites.test.tsx
  • web/src/systems/profiles/components/__tests__/profile-switcher.test.tsx
  • web/src/systems/profiles/lib/__tests__/profile-event-stream.test.ts
  • web/src/systems/profiles/lib/__tests__/profile-scope.test.ts
  • web/src/systems/runtime/components/runtime-selector/__tests__/runtime-selector.test.tsx
  • web/src/systems/session/adapters/__tests__/session-api.test.ts
  • web/src/systems/session/components/__tests__/session-chat-runtime-provider.test.tsx
  • web/src/systems/session/components/__tests__/session-continue-dialog.test.tsx
  • web/src/systems/session/components/__tests__/session-create-dialog.test.tsx
  • web/src/systems/session/components/__tests__/session-environment-chip.test.tsx
  • web/src/systems/session/components/__tests__/session-inspector.test.tsx
  • web/src/systems/session/components/__tests__/thinking-block.test.tsx
  • web/src/systems/session/components/__tests__/tool-call-card.test.tsx
  • web/src/systems/session/hooks/__tests__/use-session-create.test.tsx
  • web/src/systems/session/hooks/__tests__/use-session-live-tail.test.tsx
  • web/src/systems/session/hooks/__tests__/use-sessions.test.tsx
  • web/src/systems/session/lib/__tests__/session-terminal-quote.test.ts
  • web/src/systems/session/mocks/__tests__/handlers.test.ts
  • web/src/systems/settings/adapters/__tests__/settings-api.test.ts
  • web/src/systems/settings/components/__tests__/provider-detail-dialog.test.tsx
  • web/src/systems/settings/components/__tests__/provider-logo.test.tsx
  • web/src/systems/settings/components/__tests__/setting-row.test.tsx
  • web/src/systems/settings/components/__tests__/settings-editor-dialog.test.tsx
  • web/src/systems/settings/components/__tests__/settings-field-row.test.tsx
  • web/src/systems/settings/components/__tests__/settings-page-frame.test.tsx
  • web/src/systems/settings/components/__tests__/settings-restart-notice.test.tsx
  • web/src/systems/settings/components/__tests__/settings-skill-custom-sources.test.tsx
  • web/src/systems/settings/components/__tests__/settings-source-badge.test.tsx
  • web/src/systems/settings/components/__tests__/window-manager-shortcut-table.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-settings-automation-page.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-settings-general-page.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-settings-memory-page.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-settings-observability-page.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-settings-skills-page.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-window-manager-layout-editor.test.tsx
  • web/src/systems/settings/lib/__tests__/mcp-editor-model.test.ts
  • web/src/systems/settings/lib/__tests__/mcp-status-view-model.test.ts
  • web/src/systems/settings/lib/__tests__/query-options.test.ts
  • web/src/systems/settings/mocks/__tests__/handlers.test.ts
  • web/src/systems/skill/__tests__/types.test.ts
  • web/src/systems/skill/lib/__tests__/query-keys.test.ts
  • web/src/systems/skill/lib/__tests__/query-options.test.ts
  • web/src/systems/skill/lib/__tests__/skill-formatters.test.ts
  • web/src/systems/status/hooks/__tests__/use-daemon-health.test.ts
  • web/src/systems/tasks/components/__tests__/task-editor-modal.test.tsx
  • web/src/systems/tasks/components/__tests__/task-run-review-card.test.tsx
  • web/src/systems/tasks/components/__tests__/tasks-dashboard-queue-health.test.tsx
  • web/src/systems/tasks/components/__tests__/tasks-dashboard-view.test.tsx
  • web/src/systems/tasks/components/__tests__/tasks-empty-state.test.tsx
  • web/src/systems/tasks/components/__tests__/tasks-inbox-view.test.tsx
  • web/src/systems/tasks/components/__tests__/tasks-kanban-board.test.tsx
  • web/src/systems/tasks/components/__tests__/tasks-list-surface.test.tsx
  • web/src/systems/tasks/hooks/__tests__/use-task-orchestration-msw.test.tsx
  • web/src/systems/tasks/hooks/__tests__/use-task-run-page.test.tsx
  • web/src/systems/tasks/hooks/__tests__/use-tasks-page.test.tsx
  • web/src/systems/tasks/lib/__tests__/task-templates.test.ts
  • web/src/systems/tasks/mocks/__tests__/fixtures.test.ts
  • web/src/systems/terminal/components/__tests__/terminal-approvals.test.tsx
  • web/src/systems/terminal/components/__tests__/terminal-journal-panel.test.tsx
  • web/src/systems/terminal/components/__tests__/terminal-quote-surface.test.tsx
  • web/src/systems/terminal/components/__tests__/terminal-window-app.test.tsx
  • web/src/systems/terminal/hooks/__tests__/use-terminal-recordings.test.tsx
  • web/src/systems/workspace/components/__tests__/option-card.test.tsx
  • web/src/systems/workspace/components/__tests__/workspace-command-select.test.tsx
  • web/src/systems/workspace/components/__tests__/worktree-commit-dialog.test.tsx
  • web/src/systems/workspace/lib/__tests__/workspace-tree.test.ts
  • web/src/systems/workspace/stores/__tests__/active-workspace-store.test.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit 5584572.

pedronauck and others added 12 commits October 7, 2026 12:49
The release workflow gained a sixth job gated on the semantic
'build: release ' PR title (e2e-desktop-nightly). The contract keeps
asserting the conventional trigger, the merge triggers and the shared
preflight ordering; only the job inventory moves from five to six.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Reusing the runtime lane binary made the remote daemon report the stamped
lane version while the in-process CLI reports dev, so connect refused the
remote as incompatible in CI. Build the remote binary from the checkout
again; the consolidated reuse journey stays.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Navigate explicitly to the fleet before creating each skill-source session so the Dock cannot restore the previous agent detail. Preserve the merged journey and all picker assertions.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Seed the loop before the palette caches catalogs and scope session chrome
to its owning surface when a frame retains tabs from earlier steps.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
Allow the real Go and SQLite fixture test a documented cold-build budget. Build the database seeder once per browser lane and reuse its executable across workers while preserving independent database templates and per-test copies.

Co-Authored-By: Codex gpt-6-astra <[email protected]>
The database seeder prebuild pushed prepareE2ELaneEnv past the funlen
budget; resolve the seeder and the stamped daemon through one helper.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@pedronauck
pedronauck marked this pull request as ready for review October 7, 2026 21:58
@greptile-apps

greptile-apps Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium risk] Test reorganization across the test pyramid.

The changes since the previous review appear safe to merge; the reported YAML issue is fixed.

Summary

This PR cuts repeated test setup, moves component checks to lower-cost suites, and moves the desktop soak to the release lane.

  • Since the previous review, only two QA records changed.
  • Both now fully quote their evidence values, fixing the previous finding.
  • No new actionable issues or confirmed repository-rule violations were found.

Reviews (2) · Last reviewed commit: "docs: quote moved-owner evidence in loop..." · Reviewed by Greptile

Comment thread docs/qa/scenarios/LP-web-bell-loop-requests.md Outdated
The evidence values appended for E2E-029/E2E-030 left text after a closed
empty string and an unquoted colon, so the YAML frontmatter no longer
parsed. Quote each complete value.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@pedronauck
pedronauck merged commit f003634 into main Oct 8, 2026
53 checks passed
@pedronauck
pedronauck deleted the test-pyramid branch October 8, 2026 01:06

This branch was successfully deployed

1 active deployment
Preview — 55845727 Deployed Oct 7, 2026 by vercel[bot]
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