Skip to content

perf: 畳んだ報告の末尾注記の抜粋を新しい側の2本までに絞る(1,620 字 → 800 字) - #5414

Merged
takecchi merged 1 commit into
mainfrom
perf/shrink-withheld-report-excerpts
Oct 28, 2026
Merged

takecchi merged 1 commit into
mainfrom
perf/shrink-withheld-report-excerpts

Conversation

@takecchi

Copy link
Copy Markdown
Owner

目的

トークン節約。「背景処理の完了待ちで畳んだターンの報告を N 本配っていない」の末尾注記は、直後の本報告と重なる抜粋で最大約 1,700 字を占めていた。

変更

  • WITHHELD_REPORT_LISTING_BUDGET を 1500 から 600 へ。240 字の行は新しい側の 2 本までが残り、古い側は既存の「古い N 本の冒頭は字数の予算で省いた。全文は日誌に在る」の 1 行へ回る(既存の落とす仕組みをそのまま使う)。積む時点の詰め(trimWithheldExcerpts)も同じ定数なので、台帳の写しも小さくなる。
  • 本数・最初と最後の時刻・「全文は日誌に在る」は毎回出す。journal_read q=<managerId> since=最初の少し前 until=最後の少し後 の引き方を一言足した(約 +45 字)。「少し」としたのは、日誌の exchange が在庫を積む前に書かれ、until が含まないため、端の時刻そのままだと両端の報告を外すから。
  • 全文が日誌に在ること: case 'report' が type: 'exchange' に全文(reportFullTextOf)を、畳む判定より前に書く。追加試験で、落ちた 1 本目の全文が日誌に在ることを確かめている。

効く量

既存試験の fake で、240 字超(300 字)の報告を 6 本畳んだ後の本報告の末尾注記(「(この間に」以降)の字数。

  • 前: 1,620 字(抜粋 5 本 + 古い 1 本の行)
  • 後: 800 字(抜粋 2 本 + 古い 4 本の行 + journal_read の案内)

差 約 -820 字。測りの生出力は一時ファイルで取り、リポジトリには残していない。

倒れ側

抜粋で見えていた古い側の 3〜4 本の冒頭が、journal_read を引かないと見えなくなる。ただし:

  • マージ・PR の作成・push など外へ出した成果を含む報告(outwardActions)は、そもそも畳まれず受信箱へ回る(case 'report' の判定)。そのため renderWithheldExcerpts の旧コメントの「マージの報告が後続で消える」は、最新 2 本に入らない場合でも、畳まれた側にはマージの報告が来ない構造になっている。
  • 「最後の 1 本だけを持たない」設計(excerpts のコメント)は保っている(2 本残る。上書きではない)。ただし outwardActions を取り逃がしたマージ報告が古い側に落ちる可能性は残る。その場合も本数と日誌の引き方は注記に出る。

確認(revert 試験)

追加試験 2 本を、manager.ts の本変更を退避した(origin/main の)状態で回すと両方落ちる。

  • 「240字超の報告を6本畳んでも…」: expected 1620 to be less than 900
  • 「注記に、日誌を managerId と最初・最後の時刻で引く案内が載る」: 案内の文言なし

変更を戻すと、manager-withheld-reports / manager-flush-activity / manager の 3 ファイル 429 本が通る。既存試験は字面・予算に依存せず更新不要(assert は弱めていない)。build / typecheck / lint / format:check 通過。実時間待ちは使っていない。

他 PR との重なり

gh pr list --state open は #5412(usage 系。manager.ts に触れない)と #5344(docs のみ)。ALT-DEV-Y(mgr-b071b83c)の PR は開いていない。origin/perf/* に manager.ts を触る既存枝があるかは差分までは見ていない。

docs

docs/ に該当の語(畳んだ報告の冒頭・予算 1500)は無い(grep 0 件)。docs は編集していない。

背景処理の完了待ちで畳んだ報告の抜粋は、直後の本報告と重なることが多いのに最大約1,700字を占めていた。
字数の予算を 1500 から 600 へ下げ、新しい側だけを残し、古い側は既存の「古い N 本の冒頭は字数の予算で省いた」の1行へ回す。
本数・最初と最後の時刻・全文が日誌に在ることは毎回出し、journal_read の引き方(q=managerId と since/until)を一言足す。
外へ出した成果(マージ・PR)を含む報告はそもそも畳まれず受信箱へ回るので、重要な本文を落とさない設計は崩れない。
@takecchi
takecchi merged commit f0ad5b6 into main Oct 28, 2026
6 checks passed
@takecchi
takecchi deleted the perf/shrink-withheld-report-excerpts branch October 28, 2026 10:46
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