月案ライブラリ:Driveの帳票様式と年齢クラス別の扱い
2026-09-27。このチャットでユーザーが指定した要件と、Drive原本の確認結果を記録する。原本の欄構成を反映した操作見本は作成済み。本体への統合・本番保存・印刷出力は未実装。
ユーザーの指定
- Google Driveに保存されている帳票の実物に、画面の帳票様式を合わせる。
- 最初は本文が空白の帳票を表示し、候補を選ぶと対応する欄へ文章が反映される。
- 0・1・2歳児クラスは個人別の様式を使う。
- 3歳児クラス以上は集団の様式を使う。
- 過去の原文を出典付きで選ぶ操作と、AIの提案を選ぶ操作を用意する。
- 個人計画では現状の操作を残し、過去3か月の計画と反省を確認しながら今月分を入力できるようにする。
画面に反映する方針
| 年齢クラス | 様式 | 本文の対象 |
|---|---|---|
| 0・1・2歳児 | Driveにある個人用の帳票 | 選択した子ども |
| 3歳児以上 | Driveにある集団用の帳票 | 選択したクラス |
切り替えは年齢クラスを基準にする。年度途中の誕生日によって自動的に様式を切り替える解釈にはしない。
個人別の文章とクラス共通の文章は対象を分けて保持する。対象を切り替えても、入力途中の文章を別の子ども・クラスへ自動で転用しない。原本では複数の子どもを1つの表に並べる。個人用とは「1人につき1ファイル」ではなく、本文の対象が個人であることを指す。
項目名、見出しの階層、表の列・行、結合欄、基本情報をExcel原本の読み取りとPDF表示で確認した。最初のモックの「月案10項目」を実際の帳票へ無条件に当てはめない。
参照先
- 対象フォルダ:https://drive.google.com/drive/u/0/folders/1yQ3laimrU35715AbzvoBef3HvBsH0Tbb
- 先行引き継ぎ:
C:/python/open-hoikuict/docs/handoff-monthly-library-to-plan-docs-2026-09-27.md - 設計案:
C:/python/open-hoikuict/docs/monthly-library-proposal-2026-09-27.md - 先行モックの説明:
C:/python/open-hoikuict/tools/monthly-library-preview/README.md - 最新の画面案:
C:/Users/katet/.codex/visualizations/2026/09/26/01a0dfa8-f3b1-76a0-bd0e-2fb6d93d323a/monthly-plan-drive-sheet.html - 旧画面案(汎用10項目):
C:/Users/katet/.codex/visualizations/2026/09/26/01a0dfa8-f3b1-76a0-bd0e-2fb6d93d323a/monthly-plan-sheet.html
最新の画面案は年齢クラス0〜5歳を切り替えられる。2026年10月、園児名・候補・AI案はすべて操作確認用の架空データ。Driveの過去の保育記録を候補として取得したものではない。空欄の選択、追記、直接編集、出典保持、取り消し、画面内の下書き保存を持つ。
セル内編集と候補一覧(追加のユーザー指定を反映)
ユーザーは C:/python/getsuan-rag/ を参照し、一覧性を高めるため「この欄に追記」ボタンをなくすこと、候補選択だけで反映すること、Backspace等で削除できること、セル内を自由に編集できることを指定した。
参考にしたのは README.md、build.html の makeTextarea / showCandidates / insert、app.py の FORMS、templates/mapping.json。特に build.html のセルへのフォーカスで候補を切り替え、文例をクリックして ○ 付きで追記する操作を採用した。READMEに載っている取り込み・氏名点検・DB更新コマンドは実行していない。
- 帳票の本文セルをネイティブのテキスト入力欄に変更。セルを選ぶと、その欄の候補が右に出る。
- 候補の文章全体を選択対象にし、クリック/キーボードで選ぶと即時反映する。専用の追記ボタンは置かない。
- 手入力済みの文章は保持し、候補を
○付きで末尾に追記する。反映後は対象セルへカーソルを戻す。 - 右側の別編集欄と「この欄を空にする」ボタンを廃止。文字の修正・改行・範囲選択・Backspace・Deleteはセル内で行う。
- 反映済みの候補には印を付け、同じ文章の重複追加を防ぐ。本文から削除した候補は再選択できる。
- 出典は一覧下部の折りたたみにまとめる。原文とAI提案の区別は残す。
- 追加指定により、見本の候補一覧にキーワード検索を追加。選択中のセル・原文/AIの候補本文を入力に合わせて絞り込む。スペース区切りは全語一致、空欄で全件に戻り、0件の場合はその旨を表示する。検索結果からの選択も直接セルに反映する。検索は見本内の固定候補が対象で、実DB検索ではない。
- セルの高さを内容に合わせて調整し、編集中のセルを再描画しない。入力中に戻る遅延した保存通知も無視して、カーソルと入力を保持する。
- 0〜2歳児の個人別、3〜5歳児の集団という原本の構造と、園児ごとの本文分離は維持する。
追加検証:候補クリック後のセル反映とカーソル位置、続けてBackspaceによる1文字削除、セル内の複数行編集、全選択と削除、削除後の再選択、重複追加防止、手入力を残した追記、園児A/Bの分離と年齢切り替え後の保持、変更の取り消しをブラウザーで確認した。これは画面案の更新であり、getsuan-rag のDBを接続した本実装ではない。
原本の欄構成と順番を基準に、画面上の幅や余白は読みやすく調整した。年号・対象月・クラス名・担任名は入力データとして差し替える。原本の印刷寸法をそのまま再現するPDF/Excel出力ではない。追加指定「縦横変えないで」に従い、小さい画面でも帳票の行・列を維持する。帳票部分のみ左右へスクロールし、項目を縦積みに変換しない。幼児の行事表も計画の右側を維持する。
個人計画の過去3か月表示(追加のユーザー指定を反映)
0〜2歳児の個人計画に「過去3か月を表示」を追加した。初期状態は従来の園児一覧で、必要なときだけ履歴を開く。表示を閉じると一覧に戻り、入力中の文章は保持する。3歳児以上の集団計画にはこの切り替えを表示しない。
- 選択した園児について、対象月より前の3か月を古い順に行として並べる。操作見本は2026年10月を対象とし、7・8・9月を表示する。
- 履歴の下にその園児の10月の入力行を表示し、候補検索・候補選択による直接反映・セル内編集・Backspace等の削除を継続できる。履歴表示中のみ他の園児行を隠し、園児選択で切り替える。
- 追加指定「縦横変えないで」に従い、過去も元の帳票と同じ「生活・健康」「あそび」「環境構成・援助活動」「評価・反省」の列を保つ。見出しの階層・列順・列幅は今月の個人行と共通にする。月を横に並べるカード形式は廃止した。
- 全月の計画3項目と月全体の反省を常に表示する。今月のセルを選ぶと過去の同じ列を薄く強調するが、項目の配置や表示内容は変えない。履歴の対象園児は見出しで明示する。
- 過去の本文は閲覧専用で、開くだけでは今月の欄へコピーしない。履歴切り替えでは入力セル自体を再生成せず、入力位置を保つ。
- 記録がない月も枠を残し、「この月の記録はありません」と表示する。前後の月や他の園児の文章で補完しない。
- 園児A/Bの履歴と園児Bの8月欠損、全月記録なしの園児を架空データで用意した。Driveの実記録や
getsuan-ragのDBとは接続していない。
履歴機能の検証:3か月の表示と開閉、園児A/B/Cの分離と欠損月表示、0・1・2歳児の切り替え、集団様式で履歴を隠す動作。履歴を開いたまま手入力・検索・候補反映・Backspace編集ができ、閉じても文章が保持されることを確認した。行・列の向きは上記の追加指定を優先し、小さい画面では帳票内の横スクロールを許容する。
縦横維持の修正後、1024pxで過去と今月の5列の位置・幅が一致すること、セル選択で対応列の強調のみ切り替わること、開閉後も入力が残ることを確認した。320pxでも見出し・行・セルは表の構造を維持し、横スクロールは帳票内に収まり、画面全体の横方向のはみ出しはない。
本実装では、文例検索とは別に個人の月次履歴を取得する必要がある。園児の安定した child_ref、対象年月、帳票ID・版、項目ID、本文と実施後の評価・反省を保持し、閲覧権限のある記録だけを取得する。年度替わりや進級をまたいでも同じ園児を追えるよう、氏名・行番号・現在の年齢クラスのみを結合キーにしない。前3か月は対象年月から計算し、年をまたぐ場合も暦月を保持する。匿名化された文例DBの検索結果だけで同一園児の経過を復元できるとは扱わない。
指定された文例DBの利用可否
ユーザーが指定した C:/python/getsuan-rag/getsuan.sqlite を、2026-09-27に SQLite の mode=ro と PRAGMA query_only=ON で確認した。既存DBの更新・再取り込み・コピーは行っていない。文例の検索元として利用できる構造である。画面案の架空文例を実DBに接続する変更は、この確認時点では未実施。
- 文例128,008件、正規化本文の重複を除くと60,668件。年齢0〜5歳、月1〜12月、年の値2012〜2026を保持する。年齢未設定の2件は年齢別候補へ自動混入させない。
phraseが文例本文・年齢・月・年・項目・個人別/クラス全体等の区分・領域を持つ。cellに元のセル、sourceに元資料の相対パス等があり、出典を紐づけられる。文例から元セル・資料への欠損参照は0件だった。- 元資料は読み取り成功1,488件(乳児899件、幼児589件)。別に取り込みエラーの資料8件が記録されているため、すべての元資料が取り込めているとは扱わない。
phrase_ftsにtrigramの全文検索索引がある。「手洗い」の検索は2,917件。短い語は本文の部分一致を使えることを確認した。- 1歳児・10月・個人別の重複なし候補数は、生活・健康689件、あそび528件、環境構成・援助474件、評価・反省157件。
画面を接続する際は帳票の行・列と直接編集の操作を維持し、選択セルから年齢・月・区分・項目・領域を指定して検索する。対応は次を基準にする。
| 画面の欄 | DBの検索条件 |
|---|---|
| 個人の生活・健康/あそび/評価・反省 | section=個人別 と同名の item |
| 個人の環境構成・援助活動 | section=個人別、item=環境構成・援助 |
| クラス共通のねらい/家庭との連携/評価・反省 | section=クラス全体 と同名の item |
| 幼児の養護・教育の4列 | 区分と領域を指定し、列を ねらい/環境構成/予想される子どもの姿/援助・配慮 に対応付ける |
| 1枠にまとめた食育 | section=食育 OR item=食育 を年齢・月で絞り込む。元の項目名も出典情報に保持する |
既存 getsuan-rag/app.py の /api/search と /api/forms が参考になる。DBはローカルの読み取り専用データソースとし、実装時に園のデータソース設定と閲覧権限へ紐づける。画面内の固定候補を検索する操作見本と、全DBを検索するサーバー連携は区別する。
このDBには園児を月をまたいで識別する安定したIDがない。age_label は個人別計画の月齢情報で、個人の永続IDではない。そのため文例としての利用は可能だが、「選択した園児の過去3か月の計画と反省」は別の園児ID付き月次記録に接続する必要がある。
Driveへのアクセス状況
ユーザーがアプリ内ブラウザーでログインした後、同じチャットでDriveを閲覧できた。原本フォルダの一覧と年齢別4ファイルを確認した。プラグインの再接続や新しいチャットは、この調査を続けるためには不要だった。
原本フォルダ:各書類原本。各XLSをGoogle Sheetsで開き、読み取り用のXLSXとPDFをローカルに取得して照合した。Drive上の原本は変更していない。
確認した原本
| 年齢 | ファイル | Drive最終更新表示 | 様式 |
|---|---|---|---|
| 0 | 原案 月案(0歳児).xls | 2021-12-10 | 乳児指導計画・個人別6行 |
| 1 | 新 月案(1歳児).xls | 2025-04-17 | 乳児指導計画・個人別7行+8行 |
| 2 | 月案(2歳児) 新.xls | 2018-10-19 | 乳児指導計画・個人別7行+8行+7行 |
| 3〜5 | 月案原本(幼児).xls | 2021-12-10 | 集団の月指導計画 |
すべて内容があるのは Sheet1。Sheet2 / Sheet3 は空白。人数はシート上の行数で、在籍人数ではない。画面案のページ分けは原本の見出し反復に対応するブロック単位で、PDFの物理改ページを保証するものではない。
0・1・2歳児用は、上段が「ねらい」「家庭との連携」「評価・反省」のクラス共通欄。基本情報にクラス・担任・園長印・行事があり、1歳児原本には主任欄もある。下段の名前ごとの本文は次の4列。
| 個人の欄 | 原本セル(最初の園児行) |
|---|---|
| 生活・健康(食事・睡眠・排泄・清潔) | C12:F12 |
| あそび(あそび・ことば) | G12:I12 |
| 環境構成・援助活動 | J12:L12 |
| 評価・反省 | M12:O12 |
共通本文は A5:E8(ねらい)、F5:I8(家庭との連携)、J5:O8(評価・反省)。2歳児に集団用の領域表を適用しない。
幼児用は左側に計画、右側に日付・曜日・行事・活動。計画本文は「ねらい」「環境設定」「予想される子どもの姿」「配慮事項」の4列。行は養護(生命・情緒)、教育(健康・人間関係・環境・言葉・表現)、食育。上に今月のねらいと家庭との連携、下に評価・反省がある。
画面の食育欄はユーザーの追加指定を優先し、4列を横に結合した1つの枠に変更した。 食育全体で候補を選び、セル内で編集する。旧画面案の食育4欄に入力がある場合は、本文を順に改行で連結し、出典も保持して1欄へ移す。養護・教育は従来の4列。下表は参照した原本のセル位置を表すもので、この画面変更とは区別する。
| 幼児原本の欄 | セル範囲 |
|---|---|
| 今月のねらい | C8:AC17 |
| 家庭との連携 | AD10:BH17 |
| 4列の列範囲 | E:R / S:AF / AG:AT / AU:BH |
| 養護・生命情緒 | 行 21:34 |
| 教育の5領域 | 行 35:42 / 43:50 / 51:58 / 59:66 / 67:74 |
| 食育 | 行 75:80 |
| 評価・反省 | A83:BH98 |
| 行事・活動 | BM6:CC98、1日につき3行 |
Sheets経由のXLSXでは orientation=landscape、明示的な印刷範囲・用紙サイズは確認できなかった。一方、標準PDF書き出しは縦長ページになった。元Excelの印刷設定を完全に保持しているとは扱わない。画面案の曜日は原本の固定表示を流用せず、対象年月から計算する。
連携契約との対応
現行 docs/integration-contract.md の月案10項目だけでは、個人別4列や幼児の領域×4列を損失なく保持できない。永続キーを表示ラベルに合わせて置換しない。
monthly_goalとmonthly_family_collaborationはクラス共通欄への対応候補。monthly_environment/monthly_supportは幼児の領域ごとの欄と1対1ではない。「環境構成・援助活動」は乳児原本では結合された1項目で、機械的に分割しない。monthly_reflection_viewpointは「振り返りの観点」であり、実施後に書く「評価・反省」の実績と同一視しない。children_snapshotと「予想される子どもの姿」は観察済み・予測の意味が異なる。区別して扱う。monthly_eventsを表示する際も、幼児の月日単位の情報は保持する。- 本実装時は帳票ID・版、年齢クラス、クラスと月、個人の安定参照ID、領域・列を表すフィールドIDを追加設計する。本文と出典をフィールドごとに保持し、名前や行番号を個人の永続IDにしない。
- 画面案は年齢・架空の園児IDでデータを分離した操作確認用。複数クラス・複数月・実園児を扱う保存契約や権限を実装したものではない。
次の作業
ブラウザーで確認済み:0〜5歳の様式切り替え、個人行のページ切り替え、園児A/Bの本文分離、年齢を戻した際の保持、候補の追記、直接編集、AI見本の参考原文保持、空欄化と取り消し、下書きの保存と復元。320pxと1024pxの表示を確認し、横方向のはみ出しなし。検証時にブラウザーのエラー・警告ログなし。これは画面案の検証で、サーバー保存や印刷出力の検証ではない。
- 本実装時に、上記の原本を帳票テンプレートとして登録し、対象クラス・年月・園児参照とフィールドの保存契約を定める。
- 過去文例の抽出先を実際の欄へ対応付ける。欄の役割と個人/共通の区別を保つ。
- Excel/PDF出力が必要になった時点で、用紙サイズ・余白・改ページ・長文時の扱いを実際の印刷物と照合する。
Driveの帳票を読むことは今回の依頼に含まれる。実資料を外部の文章生成サービスへ送信すること、本体への統合や本番配備は今回実施していない。