test(frontend): use forked Vitest workers for stable suite execution - #1647
test(frontend): use forked Vitest workers for stable suite execution#1647seonghobae wants to merge 5 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review Please review exact protected base |
|
@coderabbitai review Superseding the predecessor review request after owner restack: review exact base |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
base="042b0c70531b229af3acbd0421a2f23098d848b3"
head="abe5d8cd361c9ab01834fb913baa47817484b629"
git cat-file -e "${base}^{commit}"
git cat-file -e "${head}^{commit}"
echo "=== exact changed files ==="
git diff --name-status "$base" "$head"
echo "=== exact diff (no external diff drivers) ==="
git -c diff.external= diff --no-ext-diff --unified=80 "$base" "$head"
echo "=== repository instructions ==="
fd -HI -t f '(^|/)(AGENTS|CLAUDE|CONTRIBUTING|README)\.md$|(^|/)coderabbit\.ya?ml$' . \
-E .git -E node_modules -E dist -E build \
| sort
echo "=== candidate files ==="
fd -HI -t f '^(vitest\.config\.ts|results\.tsv|package\.json|pnpm-workspace\.yaml)$' . \
-E .git -E node_modules -E dist -E build \
| sort
echo "=== frontend Vitest configuration outline ==="
ast-grep outline frontend/vitest.config.ts --items all --view expanded 2>/dev/null || true
echo "=== frontend Vitest configuration ==="
cat -n frontend/vitest.config.ts
echo "=== results evidence ==="
cat -n results.tsv
echo "=== frontend package scripts and Vitest dependency declarations ==="
jq '{scripts, devDependencies: (.devDependencies | with_entries(select(.key | test("vitest|`@vitest`")))), dependencies: (.dependencies | with_entries(select(.key | test("vitest|`@vitest`"))))}' frontend/package.json
echo "=== range commits ==="
git log --format='%H%n%s%n%b%n---' "${base}..${head}"Length of output: 5687 🏁 Script executed: #!/bin/bash
set -euo pipefail
base="042b0c70531b229af3acbd0421a2f23098d848b3"
head="abe5d8cd361c9ab01834fb913baa47817484b629"
discard="1c3c30c1"
keep="a7c2d341"
echo "=== root guidance ==="
cat -n AGENTS.md
echo "=== frontend guidance ==="
cat -n frontend/AGENTS.md
echo "=== contribution guidance relevant to generated artifacts/tests ==="
rg -n -i -C3 'generated|artifact|result|benchmark|experiment|vitest|test' CONTRIBUTING.md README.md frontend/README.md .gitignore .gitattributes 2>/dev/null || true
echo "=== commit availability, parents, and decorations ==="
for commit in "$base" "$discard" "$keep" "$head"; do
echo "--- $commit ---"
git show -s --format='fuller%n%D%nP%n%s' "$commit" 2>&1 || true
git branch -a --contains "$commit" 2>/dev/null || true
done
echo "=== experiment diffs ==="
for commit in "$discard" "$keep"; do
echo "--- $commit ---"
git -c diff.external= diff --no-ext-diff show --format=fuller --stat --find-renames "$commit"
git -c diff.external= diff --no-ext-diff show --format= --unified=40 "$commit"
done
echo "=== history relationship ==="
git merge-base --is-ancestor "$base" "$head" && echo "base is an ancestor of head"
git merge-base --is-ancestor "$keep" "$head" && echo "kept experiment is an ancestor of head"
git merge-base --is-ancestor "$discard" "$head" && echo "discarded experiment is an ancestor of head" || echo "discarded experiment is not an ancestor of head"
echo "=== all Vitest configuration locations and isolation-related settings ==="
rg -n -i -C3 'pool\s*:|poolOptions|isolate|fileParallelism|testTimeout|hookTimeout|teardownTimeout|passWithNoTests' \
-g '!*node_modules*' -g '!*.lock' .
echo "=== tracked TSV and experiment-result patterns ==="
git ls-files '*.tsv' '*result*' '*benchmark*' | sortLength of output: 69480 🤖 web_search executed:
Length of output: 11279 🏁 Script executed: #!/bin/bash
set -u -o pipefail
base="042b0c70531b229af3acbd0421a2f23098d848b3"
head="abe5d8cd361c9ab01834fb913baa47817484b629"
discard="1c3c30c1"
keep="a7c2d341"
echo "=== exact parent and reachability metadata ==="
for commit in "$base" "$discard" "$keep" "$head"; do
echo "--- ${commit} ---"
if git rev-parse --verify --quiet "${commit}^{commit}" >/dev/null; then
git show -s --format='commit=%H%nparents=%P%ndecorations=%D%nsubject=%s%nauthor_date=%aI%ncommit_date=%cI' "$commit"
git branch -a --contains "$commit" || true
else
echo "unavailable in local object database"
fi
done
echo "=== parent-to-commit diffs for available experiments ==="
for commit in "$keep" "$head"; do
echo "--- ${commit} ---"
git -c diff.external= show --no-ext-diff --format='commit=%H%nparents=%P%nsubject=%s' --stat "$commit"
git -c diff.external= show --no-ext-diff --format= --unified=40 "$commit"
done
echo "=== final-range configuration-related diff check ==="
git -c diff.external= diff --no-ext-diff --name-only "$base" "$head" -- \
'frontend/**/*.test.*' 'frontend/**/*.spec.*' 'frontend/**/setup.*' 'frontend/package.json' 'frontend/pnpm-workspace.yaml' \
'frontend/vitest.config.*' 'frontend/src/**/*' ':!frontend/vitest.config.ts'
echo "=== lockfile Vitest references ==="
rg -n -C2 'vitest@4\.1\.11|vitest:|`@vitest/`' pnpm-lock.yaml frontend/pnpm-lock.yaml 2>/dev/null || true
echo "=== tracked evidence documentation references ==="
rg -n -i -C2 'results\.tsv|experiment.*evidence|benchmark.*evidence|durable evidence' \
AGENTS.md CONTRIBUTING.md README.md frontend/README.md docs 2>/dev/null || true
echo "=== Git attributes and ignore rules for TSV files ==="
git check-attr -a -- results.tsv
git check-ignore -v results.tsv || trueLength of output: 13968 🤖 web_search executed:
Length of output: 9557
FindingsP1 — The explicit configuration is a no-op. It cannot resolve a default-pool execution problem or cause the reported 54.32s result. P2 — The file is not generated test output. It is a manually maintained evidence record. However, its current contents are incomplete and partly unverifiable. If this evidence must remain in the repository, use full immutable SHAs that are reachable or externally retained, exact commands, Node and package-manager versions, runner resources, and separate metrics for the full suite and named tests. Scope validationThe exact range changes only:
It does not change test timeouts, assertions, test selection, setup files, dependencies, product code, or isolation settings. Vitest documents that the flowchart LR
A["Vitest 4.1.11 base"] --> B["Default pool: forks"]
B --> C["Explicit pool: forks"]
C --> D["No effective pool change"]
D --> E["Runtime attribution is unsupported"]
E --> F["Reproduce with effective configuration and environment evidence"]
You are interacting with an AI system. |
|
@codex review Review current exact base |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
base='17a7618eda2b212b691f08fa936e042b34258fc9'
head='1cc7573909f390473257a0f976b33295a620f263'
printf '%s\n' '== Commit availability and exact comparison =='
git cat-file -e "${base}^{commit}"
git cat-file -e "${head}^{commit}"
git diff --stat "$base" "$head"
git diff --name-status "$base" "$head"
git diff --check "$base" "$head"
git diff --find-renames --find-copies --no-ext-diff "$base" "$head" -- frontend/vitest.config.ts results.tsv
printf '%s\n' '== Head Vitest configuration outline and content =='
ast-grep outline frontend/vitest.config.ts --items all || true
cat -n frontend/vitest.config.ts
printf '%s\n' '== Evidence file =='
cat -n results.tsv
printf '%s\n' '== Frontend dependency manifests =='
fd -a -t f '^(package\.json|package-lock\.json|pnpm-lock\.yaml|yarn\.lock|npm-shrinkwrap\.json)$' . \
| sed -n '1,160p'
printf '%s\n' '== Vitest declarations and resolved lockfile entries =='
rg -n -i -C 3 '"vitest"|"`@vitest/`' \
-g 'package.json' \
-g 'package-lock.json' \
-g 'pnpm-lock.yaml' \
-g 'yarn.lock' \
-g 'npm-shrinkwrap.json' \
-g '!node_modules/**' \
.
printf '%s\n' '== Test scripts and Vitest invocation configuration =='
rg -n -C 3 '"(test|test:[^"]+)"\s*:' -g 'package.json' -g '!node_modules/**' .
rg -n -C 3 '\bvitest\b|pool\s*:' -g '!node_modules/**' -g '!results.tsv' .Length of output: 75148 🤖 web_search executed:
Length of output: 11626 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/naruon'
head='1cc7573909f390473257a0f976b33295a620f263'
printf '%s\n' '== Pull request state and target =='
gh pr view 1647 --repo "$repo" --json number,state,isDraft,baseRefName,baseRefOid,headRefName,headRefOid,mergeStateStatus,statusCheckRollup,url
printf '%s\n' '== Exact-head combined commit status =='
gh api "repos/${repo}/commits/${head}/status"
printf '%s\n' '== Exact-head check runs =='
gh api "repos/${repo}/commits/${head}/check-runs?per_page=100" \
--jq '.check_runs[] | {name,status,conclusion,started_at,completed_at,details_url,app:.app.slug}'
printf '%s\n' '== Exact comparison ancestry =='
git merge-base --is-ancestor 17a7618eda2b212b691f08fa936e042b34258fc9 1cc7573909f390473257a0f976b33295a620f263 \
&& echo 'base-is-ancestor-of-head: yes'
git rev-list --left-right --count 17a7618eda2b212b691f08fa936e042b34258fc9...1cc7573909f390473257a0f976b33295a620f263Length of output: 26509
I found one blocking issue.
The exact comparison is correct: five commits ahead, zero behind, with only the two stated files changed. The diff does not weaken timeouts, assertions, exclusions, test isolation, product behavior, or the dependency contract. Exact-head frontend CI was still in progress when I checked. Fresh executable evidence remains required. You are interacting with an AI system. |
Current authority — 2026-09-10
#1623@17a7618eda2b212b691f08fa936e042b34258fc9abe5d8cd361c9ab01834fb913baa47817484b629ffdbba0ee3b570ba76aa30c82aa7915f9d1dba881cc7573909f390473257a0f976b33295a620f263frontend/vitest.config.ts(+1) andresults.tsv(+4).Measurement and retained experiment
Protected
develop@042b0c70showed a frontend Vitest runtime problem: the default pool exceeded the 300-second full-suite execution budget in repeated measurement. A product-code experiment that removed the DataLayout quality-surfacesetTimeout(0)was measured and discarded because the named DataPage path regressed to 32.27 seconds.The retained configuration experiment sets Vitest
test.pool = "forks". Its recorded local receipt is 51 files / 437 tests passing in 54.32 seconds, with lint and typecheck passing. No product component, API contract, fixture, dependency, timeout, or assertion is changed by this lane.results.tsvpreserves the baseline/discard/keep sequence rather than presenting only the favorable result. It is measurement evidence, not a product runtime input.Owner repair
The original direct-
develophead inherited a frontend Security Scan failure from the stale dependency tree. That failure is not owned by a test-worker-pool configuration lane. Canonical #1623 owns the patched Next.js/sharp/js-yaml/Vitest versions, generated lockfile/importer contract, and security-floor regressions.Ordinary two-parent
ffdbba0e...preserves the measured predecessor as first-parent provenance, adopts current #1623 as second parent and starts from the exact #1623 tree.7330b17b...and1cc75739...then restore only the measured fork-pool configuration and experiment receipt. The branch advanced without force; no dependency/security source is copied into this PR.Evidence provenance
The current head commit was created at
2026-09-10T13:46:41Zwhile #1647 still targeteddevelop. Application CI34484782076was admitted at13:46:47Z; #1647 was retargeted to #1623 afterward, around13:47:51Z. GitHub now projects that same historical run'spull_requests[0].baseas the current feature base. That projection is mutable metadata, not event-time provenance.Therefore every workflow run admitted before the retarget is stale for the current base/head identity even when its head SHA is identical. Those runs must not be promoted as current stacked-PR evidence. The canary has been handed to canonical
.github#2073, which owns event-time(repository, PR, base ref/SHA, head SHA)receipt binding.The earlier direct-develop runs on
abe5d8cd...are also predecessor evidence only. Its Security Scan/CodeQL failures are inherited-owner evidence rather than a reason to change Naruon product or dependency source here, while its Application CI success does not transfer.Keep Draft until #1623 is protected-integrated or canonical stacked verification produces a post-retarget receipt for this exact base/head identity, the final two-file delta has zero valid unresolved findings, and qualifying post-last-push independent review exists. Do not inflate timeouts, exclude tests, weaken assertions, copy dependency-owner source, create dummy requeues, self-approve, force-push, destructively rebase, transfer stale evidence, or weaken gates.