[{"data":1,"prerenderedAt":547},["ShallowReactive",2],{"content-/2026-06-24-diary":3,"all-pages-for-dir":545,"og-image-/2026-06-24-diary":546},{"id":4,"title":5,"body":6,"category":524,"description":525,"extension":526,"meta":527,"navigation":528,"ogImage":529,"path":530,"project_name":531,"published":532,"publishedAt":533,"seo":534,"stem":535,"tags":536,"todo":529,"unpublished":532,"updatedAt":529,"__hash__":544},"pages/2026-06/2026-06-24/diary-2026-06-24.md","2026年6月24日の開発日記 - CXMTをmemory-makersに追加、Kindle蔵書438件判定完了、PDF専門書OCR並列取込",{"type":7,"value":8,"toc":508},"minimark",[9,14,18,22,29,32,37,45,51,80,91,94,98,117,121,132,140,142,146,157,161,175,183,185,189,211,218,222,244,252,254,258,265,269,280,288,290,293,459,461,464,481,483,486],[10,11,13],"h1",{"id":12},"_2026年6月24日の開発日記","2026年6月24日の開発日記",[15,16,17],"p",{},"朝から両手にハンドルを持って走った一日。左手は mdx-playground の memory-makers（CXMT を独立 maker として追加して予測区切り付きチャートまで描画）、右手は book-knowledge-base（Kindle Cloud Reader 一括判定 → スクショ取込本ノイズ除去 → PDF 専門書 OCR を並列で回す）。「実装を走らせてから前提を疑い直す」という同じ動作を、両プロジェクトでそれぞれ違うかたちで踏み抜いた。",[19,20,21],"h2",{"id":21},"今日のタイムライン",[15,23,24],{},[25,26],"img",{"alt":27,"src":28},"タイムライン","/2026-06/2026-06-24/timeline-2026-06-24.png",[19,30,31],{"id":31},"今日やったこと",[33,34,36],"h3",{"id":35},"_1-cxmt-を-memory-makers-に独立-maker-として追加","1. CXMT を memory-makers に独立 maker として追加",[15,38,39,40,44],{},"中国の DRAM 専業 CXMT を ",[41,42,43],"code",{},"/memory-makers/makers"," に独立エントリとして加え、長鑫科技 IPO の招股说明书を一次資料として 4 期分のチャートを描画した。当初は「兆易創新（GigaDevice）の四半期報告書を経由すれば CXMT の売上が取れる」と踏んでいたが、リサーチサブエージェントが「兆易創新の長鑫科技持分は約 1.80% に過ぎず、联营企业ではなく『其他权益工具投资』として処理されている」と返してきて、その経路が成立しないと判明。一次資料を招股说明书に切り替え、兆易創新は本来の NAND/MCU/NOR メーカー位置に戻し、CXMT を独立 maker として登録し直した。",[15,46,47],{},[48,49,50],"strong",{},"主な成果:",[52,53,54,61,71,74],"ul",{},[55,56,57,60],"li",{},[41,58,59],{},"apps/web/app/data/memory-makers/cxmtIpoFinancials.ts"," を新設、招股说明书ベースの財務データを整理",[55,62,63,66,67,70],{},[41,64,65],{},"GroupedBarChart.vue"," に ",[41,68,69],{},"forecastFromIndex"," prop を追加し、実績/予測をハッチパターン＋点線区切りで視覚分離",[55,72,73],{},"6 カテゴリ（2022〜2025 実績 + 2026 Q1 実績 + 2026 通年予測）を 1 枚に統合",[55,75,76,77],{},"コミット ",[41,78,79],{},"1a0a0c36",[15,81,82,85,86],{},[48,83,84],{},"詳細:"," ",[87,88,90],"a",{"href":89},"/cxmt-memory-makers-with-forecast-divider","中国DRAM最大手 CXMT を memory-makers に独立追加した話",[92,93],"hr",{},[33,95,97],{"id":96},"_2-韓国半導体-旬報品目別-拡張プランを途中で見送る判断","2. 韓国半導体 旬報×品目別 拡張プランを「途中で見送る」判断",[15,99,100,101,104,105,108,109,112,113,116],{},"前日積み残しだった「韓国半導体旬報チャートを品目別に拡張」を進めた。重量チャート 5 本（DRAM/NAND/MCP/DRAMモジュール/SSD）の描画完了、テスト 17 件 pass、Chrome DevTools で目視確認まで進めて staging 直前まで持っていったところで、自分の頭に違和感が走った。「品目別って 10 日とか 20 日で取れないんじゃない？」。旬報粒度では月次までしか出ないので、重量チャートは月次にしかならず、旬報の精度では役立たない。重量チャート部分は revert、",[41,102,103],{},"s10","/",[41,106,107],{},"s20"," ヘルパとデータ整合性テストだけ残してコミット ",[41,110,111],{},"5ab14bab","。計画書を「Status: Closed」に書き換え、意思決定記録を別ファイルで残してコミット ",[41,114,115],{},"808d49f7","。",[15,118,119],{},[48,120,50],{},[52,122,123,126,129],{},[55,124,125],{},"重量チャート実装を最後の最後で撤退",[55,127,128],{},"s10/s20 ヘルパとテストだけ救出して commit",[55,130,131],{},"計画書 3 件を「Closed」「Deferred」状態に更新",[15,133,134,85,136],{},[48,135,84],{},[87,137,139],{"href":138},"/korea-chip-tendaily-by-item-shelved","韓国半導体旬報の「品目別」拡張プランを途中で見送った話",[92,141],{},[33,143,145],{"id":144},"_3-kindle-cloud-reader-対応判定を-438-件一括処理","3. Kindle Cloud Reader 対応判定を 438 件一括処理",[15,147,148,149,152,153,156],{},"蔵書 DB の未判定 ASIN 421 件 + 既判定 17 件、合計 438 件の Cloud Reader 対応判定を朝のうちに片付けた。Kindle Capturer 拡張のおかげで「ASIN: + 該当 ASIN がページに出る → cr-ok」と判定ロジックは確立できたが、22 件判定して ",[41,150,151],{},"cr-ok = 0"," だったところで「これは判定ロジックがバグってるんじゃないか」と疑い、前日 cr-ok 確定で取込済みだった本の ASIN で当てて検証して OK と確認。42 件判定した時点で残り 396 件は実判定せず一括 ",[41,154,155],{},"cr-app-required"," タグ付けで完了させた（Claude Code の提案を承認した形）。Playwright + CDP で別プロセスからログイン済み Chrome のタブを掴むのは Chrome 136+ のセキュリティで不可と確認（Chrome 144+ の chrome://inspect 経由は別ルートとして残る）。",[15,158,159],{},[48,160,50],{},[52,162,163,169,172],{},[55,164,165,166,168],{},"全 438 件判定完了（前日までの cr-ok 確定済みの少数を除き、今回新規判定した分は ",[41,167,151],{},"）",[55,170,171],{},"bot 検出なしで約 8 秒/冊のペースを維持",[55,173,174],{},"「サンプル 42 件で母集団推定 → 残りは一括処理」の判断を採用",[15,176,177,85,179],{},[48,178,84],{},[87,180,182],{"href":181},"/kindle-cloud-reader-batch-judgment","Kindle Cloud Reader 対応判定を 438 冊一括処理した話",[92,184],{},[33,186,188],{"id":187},"_4-kindleスクショ取込本のノイズ一括除去-web-ui-のページ番号非表示","4. Kindleスクショ取込本のノイズ一括除去 + Web UI のページ番号非表示",[15,190,191,194,195,198,199,202,203,206,207,210],{},[41,192,193],{},"ito-modern-accounting-3rd"," の DB を Web UI でブラウジング中、「表紙が 1、はじめが 2、その次が 53」というページ番号に違和感を覚えた。Kindle Windows 版のスクショ取込本では ",[41,196,197],{},"page_number"," が PNG の連番にしかならず、紙の実ページとは無関係。",[41,200,201],{},"source_path"," が ",[41,204,205],{},"kindle:"," で始まる本を判定式にして、Web UI 側でバッジを非表示にする ",[41,208,209],{},"hasMeaningfulPageNumbers"," computed を追加。",[15,212,213,214,217],{},"ついでに DB 側にも本文への書籍タイトル混入・ランニングヘッダー重複というノイズ問題があったので、52 冊全部を対象に独立 cleanup フェーズ（",[41,215,216],{},"apply_kindle_noise_filter","）を実装。最初は「Workflow で並列再 restructure」を計画していたが、既存の restructure 結果を活かす方が嬉しいので、行レベル削除 + section prefix の tags 移管だけする独立フェーズに方針変更。",[15,219,220],{},[48,221,50],{},[52,223,224,231,238,241],{},[55,225,226,227,230],{},"Web UI の ",[41,228,229],{},"[bookId]/[page].vue"," に判定 computed を追加",[55,232,233,234,237],{},"52 冊一括適用で累計 ",[48,235,236],{},"8,948 行"," のノイズ削除",[55,239,240],{},"書籍タイトル 100% 混入だった 4 冊もすべてクリーン",[55,242,243],{},"2 コミットに分割（Web UI 改修 + ノイズフィルタ実装）",[15,245,246,85,248],{},[48,247,84],{},[87,249,251],{"href":250},"/kindle-screenshot-import-noise-cleanup","Kindleスクショ取込本 52 冊からノイズを一括除去した話",[92,253],{},[33,255,257],{"id":256},"_5-pdf-専門書の-ocr-並列パイプライン朝の-6-冊-夜の専門書追走","5. PDF 専門書の OCR 並列パイプライン（朝の 6 冊 + 夜の専門書追走）",[15,259,260,261,264],{},"朝のセッションで OCR 4 冊バックグラウンド起動 → DB 投入 → restructure サブエージェント 4 並列起動という定型を回した。夜のセッションでは「PDF の未取込書籍をレビュー数・評価順にリスト化して上から順に」と指示して、専門書を中心に取り込みを継続。",[41,262,263],{},"/yomitoku"," をスキル化してあるので「次のパスはこれ」と渡すだけで OCR→Markdown→図表抽出→Turso 投入まで進む。並列度を上げすぎず、進捗確認しながら「いいきりのいいところでおしまい」とペースをコントロールした。",[15,266,267],{},[48,268,50],{},[52,270,271,274,277],{},[55,272,273],{},"朝 6 冊の OCR / DB 投入 / restructure 完走（合計 983 chunks）",[55,275,276],{},"夜セッションでさらに専門書を上から順に追走",[55,278,279],{},"朝の定型ワークフローが夜の取り込みで活きた",[15,281,282,85,284],{},[48,283,84],{},[87,285,287],{"href":286},"/pdf-textbook-yomitoku-batch-pipeline","PDF 専門書を yomitoku で並列 OCR 取り込みした話",[92,289],{},[19,291,292],{"id":292},"今日の試行錯誤",[294,295,296,318],"table",{},[297,298,299],"thead",{},[300,301,302,306,309,312,315],"tr",{},[303,304,305],"th",{},"#",[303,307,308],{},"テーマ",[303,310,311],{},"試したこと",[303,313,314],{},"結果",[303,316,317],{},"気づき",[319,320,321,339,356,372,389,409,425,442],"tbody",{},[300,322,323,327,330,333,336],{},[324,325,326],"td",{},"1",[324,328,329],{},"兆易創新を proxy として CXMT を扱う",[324,331,332],{},"当初は兆易創新を「中国 DRAM のリードプロキシ」として独立 DRAM 区画に登録",[324,334,335],{},"失敗",[324,337,338],{},"リサーチで持分 1.80%・联营企业じゃないと判明、CXMT を独立 maker に切り直した",[300,340,341,344,347,350,353],{},[324,342,343],{},"2",[324,345,346],{},"CXMT のチャート化",[324,348,349],{},"最初「チャートを作るかどうか」で迷ってテキストだけで返した",[324,351,352],{},"却下",[324,354,355],{},"「ごめんチャートにしてほしいんですけど」と言われ判断ミスを認めて作り直し",[300,357,358,361,364,367,369],{},[324,359,360],{},"3",[324,362,363],{},"CXMT のチャートに過去実績を含める",[324,365,366],{},"2026 Q1 と 2026 通年予測しか入れずに作って渡した",[324,368,352],{},[324,370,371],{},"「なんで 2022 年とかの数字を入れてないんですか」と言われ、6 カテゴリ統合チャートに修正",[300,373,374,377,380,383,386],{},[324,375,376],{},"4",[324,378,379],{},"韓国半導体 旬報の品目別重量チャート",[324,381,382],{},"重量チャート 5 本まで描画完了、staging 直前",[324,384,385],{},"撤退",[324,387,388],{},"「品目別って 10 日とか 20 日で取れないんですよね」と気づいて revert",[300,390,391,394,397,403,406],{},[324,392,393],{},"5",[324,395,396],{},"Kindle Cloud Reader 判定",[324,398,399,400,402],{},"22 件判定で ",[41,401,151],{}," で判定ロジックを疑った",[324,404,405],{},"検証で OK",[324,407,408],{},"取込済みの本に当てて cr-ok を返したので判定ロジックは正しいと確認",[300,410,411,414,417,420,422],{},[324,412,413],{},"6",[324,415,416],{},"Cloud Reader 判定を Playwright + CDP でバックグラウンド化",[324,418,419],{},"Chrome 149 で CDP 経由の他コンテキストアクセス",[324,421,335],{},[324,423,424],{},"Chrome 136+ のセキュリティで使えず、MCP メインで続行に戻った",[300,426,427,430,433,436,439],{},[324,428,429],{},"7",[324,431,432],{},"残り 396 冊を全部実判定するか",[324,434,435],{},"サンプル 42 件で母集団を推定",[324,437,438],{},"一括処理採用",[324,440,441],{},"context が積み上がる前に切り上げる判断を承認",[300,443,444,447,450,453,456],{},[324,445,446],{},"8",[324,448,449],{},"スクショ取込本のノイズ除去方式",[324,451,452],{},"当初「Workflow で並列再 restructure」を計画",[324,454,455],{},"方針変更",[324,457,458],{},"既存 restructure を活かすために独立 cleanup フェーズに切り直した",[92,460],{},[19,462,463],{"id":463},"今日の学び",[52,465,466,469,472,475,478],{},[55,467,468],{},"実装を走らせてから前提を疑い直す動作は、AI に作業させる時代でも自分の係。重量チャートも CXMT も「動いてから気づいた」場面が複数回ある",[55,470,471],{},"サブエージェント並列は「OCR バッチ → DB 投入 → restructure」のような独立ステージで威力を発揮する。並列度を上げすぎないこと、進捗確認を挟むことがコツ",[55,473,474],{},"Web UI の違和感（意味のないページ番号）から DB 側のノイズ問題（タイトル混入）まで芋づる式に拾えた。読んでて気持ち悪いものを放置しない",[55,476,477],{},"Chrome 149 (136+) のセキュリティで CDP 経由のバックグラウンド化はもう使えない。MCP メインで回す前提に頭を切り替える",[55,479,480],{},"AI が提案してきた選択肢に「いいよ」と決めるのは自分の係。「サンプルから母集団推定して一括処理」のような統計的な打ち切り判断も、最終承認は人間",[92,482],{},[19,484,485],{"id":485},"関連記事",[52,487,488,492,496,500,504],{},[55,489,490],{},[87,491,90],{"href":89},[55,493,494],{},[87,495,139],{"href":138},[55,497,498],{},[87,499,182],{"href":181},[55,501,502],{},[87,503,251],{"href":250},[55,505,506],{},[87,507,287],{"href":286},{"title":509,"searchDepth":510,"depth":510,"links":511},"",2,[512,513,521,522,523],{"id":21,"depth":510,"text":21},{"id":31,"depth":510,"text":31,"children":514},[515,517,518,519,520],{"id":35,"depth":516,"text":36},3,{"id":96,"depth":516,"text":97},{"id":144,"depth":516,"text":145},{"id":187,"depth":516,"text":188},{"id":256,"depth":516,"text":257},{"id":292,"depth":510,"text":292},{"id":463,"depth":510,"text":463},{"id":485,"depth":510,"text":485},"diary","中国CXMTをmemory-makersに独立追加し決算経由で予測区切り付きチャート化。Kindle Cloud Reader対応判定を438件処理し、スクショ取込本52冊から累計8,948行のノイズを除去。PDF専門書のOCR並列パイプラインも回し続けた一日","md",{},true,null,"/2026-06-24-diary","daily-log",false,"2026-06-24T00:00:00.000Z",{"title":5,"description":525},"2026-06/2026-06-24/diary-2026-06-24",[537,538,539,540,541,542,543],"日記","memory-makers","CXMT","Kindle","OCR","yomitoku","book-knowledge-base","PxMYrdzxD9niOWtsNSUkL063LoB_6UFerYPt7-ahk9w",[],"https://log.eurekapu.com/og/blog/2026-06-24-diary.png?v=2026-06-24T00%3A00%3A00.000Z&title=2026%E5%B9%B46%E6%9C%8824%E6%97%A5%E3%81%AE%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%20-%20CXMT%E3%82%92memory-makers%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%80%81Kindle%E8%94%B5%E6%9B%B8438%E4%BB%B6%E5%88%A4%E5%AE%9A%E5%AE%8C%E4%BA%86%E3%80%81PDF%E5%B0%82%E9%96%80%E6%9B%B8OCR%E4%B8%A6%E5%88%97%E5%8F%96%E8%BE%BC&author=Kei%20Komatsu&sig=8fac4d7a71780626",1782364626065]