Skip to content

fix(codex): keep Spark five-hour quota model-scoped - #4018

Closed
cb8010d6 wants to merge 1 commit into
lidge-jun:devfrom
cb8010d6:feat/decode-tokps
Closed

fix(codex): keep Spark five-hour quota model-scoped#4018
cb8010d6 wants to merge 1 commit into
lidge-jun:devfrom
cb8010d6:feat/decode-tokps

Conversation

@cb8010d6

@cb8010d6 cb8010d6 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #4017.

The Codex WHAM payload can report account-level windows separately from the additional GPT-5.3-Codex-Spark limit. A Spark-specific five-hour primary window was previously discarded while the Spark weekly window was retained, so Pro account cards could show the wrong generic five-hour row or omit the Spark five-hour usage.

This change keeps Spark's five-hour and weekly windows as model-scoped custom quota rows:

  • GPT-5.3-Codex-Spark 5h
  • GPT-5.3-Codex-Spark Weekly

Account-level five-hour parsing is unchanged for plans that explicitly report that window. The existing Spark visibility setting now hides or reveals both Spark rows, while custom windows from other providers remain untouched.

Verification

  • Added a regression fixture for a Pro-shaped response with account-level weekly usage and Spark five-hour + weekly usage.
  • bun test tests/codex-integration/codex-routing.test.ts -t "WHAM keeps general and Spark windows separate": passed.
  • bun test tests/codex-integration/codex-spark-visibility.test.ts: 6 passed.
  • bun test tests/gui/quota-bars-rows.test.ts: 26 passed.
  • bun run typecheck: passed.
  • bun run privacy:scan: passed.
  • bun run build:gui: passed.
  • git diff --check: passed.

The change is intentionally limited to quota parsing, the existing Spark projection filter, configuration copy, and regression coverage. No credentials, provider URLs, or local configuration are included.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults. No auth or credential behavior changed.

Review readiness checklist

  • All CI tests are green on my local testing.
  • I pushed my PR to the latest dev commit.
  • I resolved all correct Codex and CodeRabbit findings.
  • My PR is ready for review.

Review readiness checklist

This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:

  • All CI tests are green on my local testing.
  • I pushed my PR to the latest dev commit.
  • I resolved all correct Codex and CodeRabbit findings.
  • My PR is ready for review.

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@cb8010d6

cb8010d6 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Please review the Spark-specific five-hour quota parsing and visibility regression on the current head. Focus on keeping account-level five-hour windows distinct from the model-scoped Spark five-hour window.

@github-actions github-actions Bot added the intake: hygiene-blocked Deterministic PR hygiene checks failed label Sep 8, 2026
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

⚠️ Deterministic hygiene checks failed.

  • unsponsored_surface — This changes an authentication, workflow, release-automation, or dependency surface. MAINTAINERS.md requires security review for these; ask a maintainer to apply maintainer-sponsored once they have reviewed it. Paths: src/codex/auth-api.ts.

@github-actions github-actions Bot added the bug Something isn't working label Sep 8, 2026
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

⏳ DRAFT

  • hygiene: unsponsored_surface.

What to do

  • Fix unsponsored_surface — This changes an authentication, workflow, release-automation, or dependency surface. MAINTAINERS.md requires security review for these; ask a maintainer to apply maintainer-sponsored once they have reviewed it. Paths: src/codex/auth-api.ts.
  • Tick all four boxes in the PR description once you're done (currently 1/4).

Review readiness checklist

  • ⬜ All CI tests are green on my local testing.
  • ✅ I pushed my PR to the latest dev commit.
  • ⬜ I resolved all correct Codex and CodeRabbit findings.
  • ⬜ My PR is ready for review.

1/4 boxes ticked.

This pull request was already a draft. Its draft status will be preserved after every issue above is resolved.
@cb8010d6 Tick the boxes once your local CI is green, your branch is on the latest dev commit, and every correct Codex and CodeRabbit finding is resolved.

Hygiene

⚠️ Deterministic hygiene checks failed.

  • unsponsored_surface — This changes an authentication, workflow, release-automation, or dependency surface. MAINTAINERS.md requires security review for these; ask a maintainer to apply maintainer-sponsored once they have reviewed it. Paths: src/codex/auth-api.ts.

@cb8010d6

cb8010d6 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

The hygiene check flagged src/codex/auth-api.ts as an unsponsored surface because the existing Spark visibility projection now covers both Spark-specific windows. No authentication or credential behavior changed. Please apply maintainer-sponsored if the maintainer wants this projection-boundary update reviewed under the repository security-surface policy.

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== PR metadata ==='
gh pr view 4018 --repo lidge-jun/opencodex --json baseRefName,headRefName,files,title

echo '=== Changed files ==='
git diff --name-only HEAD^ HEAD

echo '=== Diff ==='
git diff --no-ext-diff --unified=80 HEAD^ HEAD

echo '=== Candidate source/test outlines ==='
fd -t f . | rg -i '(codex|quota|spark|locale|i18n)' | head -200 | while IFS= read -r file; do
  echo "--- $file"
  ast-grep outline "$file" --items all 2>/dev/null || true
done

Length of output: 169161


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== Pull request files ==='
gh pr view 4018 --repo lidge-jun/opencodex --json files --jq '.files[] | "\(.path)\t+\(.additions)\t-\(.deletions)"'

echo '=== Pull request diff ==='
gh pr diff 4018 --repo lidge-jun/opencodex --patch -- \
  | sed -n '1,1800p'

echo '=== Spark parser and projection definitions/call sites ==='
rg -n -C 12 \
  'CODEX_SPARK_WINDOW_LABELS|withSparkVisibility|GPT-5\.3-Codex-Spark|custom.*[Qq]uota|five.hour|fiveHour|five_hour' \
  src tests \
  -g '*.ts' \
  -g '*.json' \
  | head -2200

echo '=== Relevant file outlines ==='
for file in \
  src/codex/auth.ts \
  src/codex/quota.ts \
  tests/codex-integration/codex-routing.test.ts \
  tests/codex-integration/codex-spark-visibility.test.ts \
  tests/gui/quota-bars-rows.test.ts
do
  if [ -f "$file" ]; then
    echo "--- $file"
    ast-grep outline "$file" --items all | sed -n '1,500p'
  fi
done

Length of output: 217090


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== Quota parser helpers and implementation ==='
nl -ba src/codex/quota.ts | sed -n '120,245p;680,850p'

echo '=== Quota data contracts ==='
nl -ba src/codex/quota-types.ts | sed -n '1,240p'

echo '=== Auth API Spark filter and all use sites ==='
nl -ba src/codex/auth-api.ts | sed -n '225,310p'
rg -n -C 8 '\bquotaForPlan\s*\(|\bwithSparkVisibility\s*\(' src tests -g '*.ts'

echo '=== Complete changed test blocks ==='
nl -ba tests/codex-integration/codex-routing.test.ts | sed -n '1660,1810p'
nl -ba tests/codex-integration/codex-spark-visibility.test.ts | sed -n '1,190p'

echo '=== All parser regression cases ==='
rg -n -C 10 '\bparseUsageQuota\s*\(' tests src -g '*.ts'

echo '=== Routing and auto-refresh consumers of custom windows ==='
rg -n -C 8 'customWindows|shortPercent|shortWindowSeconds' \
  src/codex src/usage gui/src \
  -g '*.ts' \
  | head -1800

Length of output: 1298


🏁 Script executed:

#!/bin/bash
set -euo pipefail

show_range() {
  local file="$1" start="$2" end="$3"
  cat -n "$file" | sed -n "${start},${end}p"
}

echo '=== Quota parser helpers and implementation ==='
show_range src/codex/quota.ts 120 245
show_range src/codex/quota.ts 680 850

echo '=== Quota data contracts ==='
show_range src/codex/quota-types.ts 1 240

echo '=== Auth API Spark filter ==='
show_range src/codex/auth-api.ts 225 310

echo '=== Projection call sites ==='
rg -n -C 8 '\bquotaForPlan\s*\(|\bwithSparkVisibility\s*\(' src tests -g '*.ts' | head -700

echo '=== Changed test blocks ==='
show_range tests/codex-integration/codex-routing.test.ts 1660 1810
show_range tests/codex-integration/codex-spark-visibility.test.ts 1 190

echo '=== Parser test cases ==='
rg -n -C 10 '\bparseUsageQuota\s*\(' tests -g '*.ts' | head -1500

echo '=== Codex quota consumers ==='
rg -n -C 6 'customWindows|shortPercent|shortWindowSeconds' src/codex src/usage gui/src -g '*.ts' | head -1400

Length of output: 146384


@cb8010d6 Reviewed the Spark quota parsing and visibility regression. I found no correctness issues in the requested scope.

  • src/codex/quota.ts Lines 752-781 keeps the account-level five-hour window in shortPercent and shortResetAt.
  • src/codex/quota.ts Lines 791-822 keeps the Spark five-hour window model-scoped as customWindows with label GPT-5.3-Codex-Spark 5h.
  • The Spark five-hour row cannot overwrite the account-level five-hour row.
  • src/codex/auth-api.ts Lines 249-277 filters only the two exact Spark labels. It preserves custom windows from other providers.
  • tests/codex-integration/codex-routing.test.ts Lines 1749-1774 verifies that account-level five-hour and weekly values coexist with separate Spark five-hour and weekly rows.
  • tests/codex-integration/codex-spark-visibility.test.ts Lines 46-116 verifies default hiding, explicit display, and preservation of non-Spark custom rows.

I could not run the test suite in this inspection sandbox. The static review supports the stated regression coverage.

⚠️ Action not completed

Head commit changed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@cb8010d6

cb8010d6 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

The PR head was force-updated after removing unrelated locale churn. Please review commit d738747, focusing on the Spark-specific five-hour parser regression and the projection-boundary filter.

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

commit="d7387478be"

echo '=== Commit identity and changed files ==='
git show --no-ext-diff --format=fuller --name-status "$commit"
echo

echo '=== Commit diff ==='
git diff --no-ext-diff --unified=100 "${commit}^" "$commit" -- \
  src/codex/quota.ts \
  src/codex/auth-api.ts \
  tests/codex-integration/codex-routing.test.ts \
  tests/codex-integration/codex-spark-visibility.test.ts \
  tests/gui/quota-bars-rows.test.ts

echo '=== Relevant file outlines ==='
for file in src/codex/quota.ts src/codex/auth-api.ts tests/codex-integration/codex-routing.test.ts tests/codex-integration/codex-spark-visibility.test.ts tests/gui/quota-bars-rows.test.ts; do
  if [ -f "$file" ]; then
    echo "--- $file"
    ast-grep outline "$file" --items all 2>/dev/null || true
  fi
done

echo '=== Parser and projection definitions, call sites, and labels ==='
rg -n -C 14 \
  'CODEX_SPARK_WINDOW_LABELS|withSparkVisibility|GPT-5\.3-Codex-Spark|parseUsageQuota|customWindows|shortPercent|shortResetAt|five.hour|fiveHour|five_hour' \
  src tests \
  -g '*.ts' \
  -g '*.json' \
  | head -2600

echo '=== Exact source regions ==='
nl -ba src/codex/quota.ts | sed -n '700,860p'
nl -ba src/codex/auth-api.ts | sed -n '220,305p'

echo '=== Focused test regions ==='
nl -ba tests/codex-integration/codex-routing.test.ts | sed -n '1640,1830p'
nl -ba tests/codex-integration/codex-spark-visibility.test.ts | sed -n '1,180p'
nl -ba tests/gui/quota-bars-rows.test.ts | sed -n '1,280p'

Length of output: 198562


🏁 Script executed:

#!/bin/bash
set -euo pipefail

commit="d7387478be"

numbered() {
  local file="$1" start="$2" end="$3"
  echo "--- ${file}:${start}-${end}"
  sed -n "${start},${end}p" "$file" | awk -v n="$start" '{ printf "%6d\t%s\n", n++, $0 }'
}

echo '=== Commit and changed paths ==='
git show --format='commit %H%nparent %P%nsubject %s' --name-status "$commit"

echo '=== Exact commit patch ==='
git diff --no-ext-diff --unified=40 "${commit}^" "$commit" -- \
  src/codex/quota.ts \
  src/codex/auth-api.ts \
  tests/codex-integration/codex-routing.test.ts \
  tests/codex-integration/codex-spark-visibility.test.ts \
  tests/gui/quota-bars-rows.test.ts

echo '=== Symbol locations ==='
rg -n \
  'CODEX_SPARK_WINDOW_LABELS|withSparkVisibility|function parseUsageQuota|export function parseUsageQuota|GPT-5\.3-Codex-Spark' \
  src/codex/quota.ts src/codex/auth-api.ts \
  tests/codex-integration/codex-routing.test.ts \
  tests/codex-integration/codex-spark-visibility.test.ts \
  tests/gui/quota-bars-rows.test.ts

echo '=== Parser implementation ==='
numbered src/codex/quota.ts 720 840

echo '=== Spark visibility projection ==='
numbered src/codex/auth-api.ts 225 300

echo '=== Parser regression test ==='
numbered tests/codex-integration/codex-routing.test.ts 1680 1805

echo '=== Projection regression tests ==='
numbered tests/codex-integration/codex-spark-visibility.test.ts 1 170

echo '=== Custom quota row rendering tests ==='
numbered tests/gui/quota-bars-rows.test.ts 1 260

Length of output: 59545


🏁 Script executed:

#!/bin/bash
set -euo pipefail

commit="d7387478be"

numbered() {
  local file="$1" start="$2" end="$3"
  echo "--- ${file}:${start}-${end}"
  sed -n "${start},${end}p" "$file" | awk -v n="$start" '{ printf "%6d\t%s\n", n++, $0 }'
}

echo '=== Full patch for the configuration type change ==='
git diff --no-ext-diff --unified=50 "${commit}^" "$commit" -- src/types/config.ts

echo '=== Window types and classification helpers ==='
rg -n -C 10 \
  'interface WhamUsageWindow|type WhamUsageWindow|function isExplicitShortWindow|function isExplicitMonthlyWindow|WEEKLY_WINDOW_MIN_SECONDS|SHORT_WINDOW' \
  src/codex/quota.ts
numbered src/codex/quota.ts 1 155
numbered src/codex/quota.ts 650 725

echo '=== Every production projection call site ==='
rg -n -C 12 '\bwithSparkVisibility\s*\(' src -g '*.ts'

echo '=== Auth DTO paths that return quota data ==='
rg -n -C 8 'quotaForPlan\s*\(|customWindows|listCodexAuthAccountsSnapshot|fetchMainAccountInfoSnapshot' \
  src/codex/auth-api.ts src/providers/quota.ts \
  -g '*.ts'

echo '=== Current commit diff statistics ==='
git diff --no-ext-diff --stat "${commit}^" "$commit"

Length of output: 82660


@cb8010d6 I found one blocking issue in commit d7387478be.

  • src/codex/quota.ts Line 185: isExplicitMonthlyWindow() compares limit_window_seconds with MONTHLY_WINDOW_MIN_MINUTES.
  • limit_window_seconds is in seconds. MONTHLY_WINDOW_MIN_MINUTES is 40,320.
  • A Spark weekly window is 604,800 seconds. The current comparison classifies it as monthly because 604,800 >= 40,320.
  • src/codex/quota.ts Line 807 then excludes this window from sparkWeekly.
  • As a result, the fixture in tests/codex-integration/codex-routing.test.ts Lines 1760-1761 emits only GPT-5.3-Codex-Spark 5h. The expected GPT-5.3-Codex-Spark Weekly row at Lines 1770-1773 is absent.

Use the seconds-domain threshold:

function isExplicitMonthlyWindow(window: WhamUsageWindow | null | undefined): boolean {
  const seconds = window?.limit_window_seconds;
  return typeof seconds === "number"
    && Number.isFinite(seconds)
    && seconds >= MONTHLY_WINDOW_MIN_SECONDS;
}

The projection filter is otherwise correct. src/codex/auth-api.ts Lines 249-277 removes only the two exact Spark labels and preserves other custom quota rows.

You are interacting with an AI system.

@cb8010d6

cb8010d6 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

CodeRabbit's latest note appears stale for the current head. src/codex/quota.ts:isExplicitMonthlyWindow() already compares the WHAM limit_window_seconds value against MONTHLY_WINDOW_MIN_SECONDS (both in seconds); the minute-domain constant is used only by the separate header parser. The focused regression test passes and asserts both GPT-5.3-Codex-Spark 5h and GPT-5.3-Codex-Spark Weekly rows, so a 604800-second weekly window is not classified as monthly. No source change is needed for this finding.

@lidge-jun

Copy link
Copy Markdown
Owner

리뷰 · 우선순위 61 / 80

이 PR은 #4017을 닫으려 한다. Pro WHAM payload에서 GPT-5.3-Codex-Spark additional limit의 5시간 primary가 버려지고 weekly만 customWindows에 남는 문제를, Spark short·weekly를 각각 GPT-5.3-Codex-Spark 5h / GPT-5.3-Codex-Spark Weekly로 올리도록 고친다. 지금 dev HEAD는 29bb221c3(2.49.0, tip #4021 docs). Spark 표시는 이미 showCodexSparkQuota(기본 false)와 withSparkVisibility로 카드에서 숨기는 축이 있다. 이 패치는 그 축 위에 5시간 창만 대칭으로 추가하는 모양이라, 현재 dev의 account-pool/quota 방향과도 맞다.

핵심 변경은 세 곳이다. src/codex/quota.tsparseUsageQuota가 Spark windows에서 isExplicitShortWindow로 short를 찾고, weekly 후보와 함께 sparkCustomWindows 배열을 만든 뒤 있을 때만 quota.customWindows에 넣는다. src/codex/auth-api.ts는 단일 상수 CODEX_SPARK_WINDOW_LABELCODEX_SPARK_WINDOW_LABELS Set(5h+Weekly)으로 바꿔 visibility off일 때 둘 다 걷어낸다. src/types/config.ts 주석과 테스트(codex-routing WHAM 분리, codex-spark-visibility)도 두 창을 가정하도록 바뀌었다. 범위가 작고 이슈 Expected와 1:1이라 점수 자체는 꽤 높다.

다만 아직 draft이고 intake: hygiene-blocked이며 hygiene/enforce-target가 빨간 상태다. 그리고 GUI/i18n 힌트는 이 PR이 손대지 않는다. HEAD의 codexAuth.sparkQuotaHint는 여전히 “weekly window”만 말한다. 파서·필터는 5h를 추가했는데 운영자 문구는 weekly만 남으면, 스위치를 켠 사람만 새 줄을 보고 문서/힌트와 어긋난다. 또한 short 판별은 isExplicitShortWindow에 맡기면서 라벨 문자열은 고정 5h다. 창이 정확히 5시간이 아닌 short여도 같은 라벨이 붙는다. 계정 일반 short 필드와 표기 철학을 맞출지 한 번 보면 좋다.

테스트는 Pro plan_type + Spark primary 5h / secondary weekly 합성으로 일반 창과 Spark 창이 섞이지 않음을 단언하고, visibility on/off·타 provider custom window 보존도 갱신했다. types/config 대분할에 무효화될 대형 리팩터는 아니다. #4017 중복 재구현도 아니다.

라인 src/codex/quota.ts Spark 라벨 GPT-5.3-Codex-Spark 5h - short window면 분 단위가 달라도 라벨이 항상 5h다. 의도된 고정 표기인지 확인해라.
경로 gui/src/i18n/* codexAuth.sparkQuotaHint / 관련 문구 - PR이 파서만 고치고 힌트는 weekly만 말한다. 5h+weekly를 같이 노출하면 문구도 맞춰라.
경로 PR draft / hygiene / enforce-target - draft=true, intake: hygiene-blocked, checks 실패. ready 전에 빨강을 지워라.
경로 tests/codex-integration/codex-spark-visibility.test.ts - 두 Spark 라벨을 함께 숨기고 다른 provider 창은 남기는 단언은 #4017 Expected와 맞다. 유지해라.
경로 src/types/config.ts showCodexSparkQuota 주석 - 동작 설명을 5h+weekly로 고친 것은 맞다. 런타임 필드 분할 충돌은 없다.

메인테이너의 판단이 필요한 지점

  • Spark short 라벨을 고정 5h로 둘지, 실제 limit_window_seconds 기반 표기로 갈지
  • i18n/docs 힌트를 이 PR에 넣을지, 후속 문서 PR로 미룰지
  • hygiene-blocked 원인(타깃/체크리스트)을 먼저 풀고 merge할지

너의 추천
방향은 merge 후보로 좋다. 지금 헤드로는 draft·hygiene를 먼저 정리하고, i18n 힌트만이라도 5h+weekly에 맞춘 뒤 ready로 올린 다음 #4017과 함께 랜딩하라. 닫을 중복이 아니고, types/config 분할 때문에 버릴 대상도 아니다.

이 댓글은 grok-bot이 작성했습니다

lidge-jun added a commit that referenced this pull request Sep 8, 2026
…rage, history) (#4051)

* fix(codex): keep Spark five-hour quota model-scoped

Carried from #4018 (author cb8010d6) for maintainer-side CI and sequential integration.
Closes #4017

Co-authored-by: cb8010d6 <53855466+cb8010d6@users.noreply.github.com>

* fix(codex): retain Spark quota on partial header updates

Carried from #4008 (author cb8010d6) for maintainer-side CI and sequential integration.
Closes #4007

Co-authored-by: cb8010d6 <53855466+cb8010d6@users.noreply.github.com>

* fix(codex): invalidate app-server observations at catalog boundaries

Carried from #3981 (author yansigit) for maintainer-side CI and sequential integration.

Co-authored-by: yansigit <44089734+yansigit@users.noreply.github.com>

* fix(web-search): stop inactivity timing after terminal events

Carried from #3979 (author yansigit) for maintainer-side CI and sequential integration.

Co-authored-by: yansigit <44089734+yansigit@users.noreply.github.com>

* fix(responses): strip Muse web_search fields on direct Meta

Carried from #3964 (author ildunari) for maintainer-side CI and sequential integration.

Co-authored-by: ildunari <95185577+ildunari@users.noreply.github.com>

* fix: preserve combo capabilities and skip referenced archives

Carried from #3863 (author x3M3x) for maintainer-side CI and sequential integration.

Co-authored-by: x3M3x <98298256+x3M3x@users.noreply.github.com>

* fix(codex): recover ocx1-compacted threads for native replay

Carried from #3920 (author cb8010d6) for maintainer-side CI and sequential integration.
Closes #3916

Co-authored-by: cb8010d6 <53855466+cb8010d6@users.noreply.github.com>

---------

Co-authored-by: t <a@b.com>
Co-authored-by: cb8010d6 <53855466+cb8010d6@users.noreply.github.com>
Co-authored-by: yansigit <44089734+yansigit@users.noreply.github.com>
Co-authored-by: ildunari <95185577+ildunari@users.noreply.github.com>
Co-authored-by: x3M3x <98298256+x3M3x@users.noreply.github.com>
@lidge-jun

Copy link
Copy Markdown
Owner

Landed on dev in 9587750 via #4051, which carried seven reviewed contributor fixes as one sequential integration branch. Your commit is preserved in the squash body with a Co-authored-by trailer, so the contribution stays attributed to you.

Verification at the merged head 1e32dee6e: Cross-platform CI run 34259247029 finished with 19 jobs successful and 0 failures, bun x tsc --noEmit exit 0, and 657 focused tests passing across the twelve affected files. An independent review confirmed the stacked tree is byte-identical to the union of the seven PR diffs.

Closing this PR because the change is already on dev. Thank you.

@lidge-jun lidge-jun closed this Sep 8, 2026
@lidge-jun

Copy link
Copy Markdown
Owner

Landed via #4051 at 9587750

@lidge-jun lidge-jun added the landed-via-maintainer Original PR closed after landing via a maintainer merge train label Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working intake: hygiene-blocked Deterministic PR hygiene checks failed landed-via-maintainer Original PR closed after landing via a maintainer merge train

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants