コンテンツにスキップ

家庭アーカイブの見直し:一覧だけ整理する

状態:2026-09-22の「これで、いこう」でモックに合意し、本番基準の別作業ツリーに実装。「本番環境に反映してください」とsudo起動を受け、同日06:21:12 JSTに本番反映完了。ローカルと実機で関連222件のテストが成功し、本番全148家庭の読み取り専用画面検査・データ保持・稼働版の独立照合も完了。詳細は deployment-family-archive-list-only-2026-09-22.md。

実装記録:.local-dev/family-archive-implementation/source/docs/family-archive-list-only-implementation-2026-09-22.md。実装ブランチは codex/family-archive-list-only-20260922-production。

ユーザーの要望と確認した方向

「紐づけが残っているとアーカイブできないだと削除と手数が変わらない」との指摘。続く確認では「家庭の一覧だけ整理し、園児・保護者の利用はそのまま続ける」を選択した。

在園児、有効な保護者アカウント、進行中の初回入力依頼があってもアーカイブを可能にする。紐づけの解除や、園児の退園・保護者の停止を前提にしない。家庭・園児・保護者のID、関連記録、利用状態を保つ。

モックで具体化した解釈

  • 家庭の一覧を「通常表示/アーカイブ済み/すべて」にする。「使用中」は保護者の利用停止と混同するため「通常表示」に変更する。
  • 確認画面には既存の家族情報、全関連件数、任意の理由とメモを残す。利用中のデータは「このまま利用が続くデータ」として表示し、保存ボタンを押せるようにする。追加の確認チェックは不要。
  • 保存時に家庭のアーカイブ状態と操作履歴だけを変更する。取消時は変更しない。保存失敗時は状態を変えず、入力を残して再試行できる。
  • アーカイブ済みの家庭も編集できる。編集やCSV更新で通常表示へ自動復帰させない。関連する園児・保護者の編集・利用・登録処理も継続する。
  • 家庭選択はアーカイブ済みも候補に残し、表示にその旨を添える。既存の選択を失わない。
  • 初回入力依頼、保護者のログイン、通知、請求、園児一覧・状態は従来の設定と規則で継続する。今回のアーカイブはそれらの停止操作を兼ねない。
  • 「元に戻す」は家庭の通常一覧へ再表示する操作。別途停止・退園したアカウントや園児を有効化しない。
  • CSVでIDを指定した家庭は、アーカイブ状態のまま更新できる。同名が複数ある場合は従来どおりIDを必要とする。アーカイブを理由に別の家庭を作成したり、同名問題を解消したことにしたりしない。
  • 家庭CSVの出力範囲は既存の「通常表示のみ/アーカイブ済みを含む/アーカイブ済みのみ」を保つ。家庭CSVの列は追加しない。全体バックアップは全家庭と履歴を含む。
  • 削除の関連データ保護は継続する。

現行実装から修正が必要な点

本番の基準は 8ec32083aed01256263dbad4237157ea729abcbc。deployment-family-archive-2026-09-21.md の反映完了記録と照合した。開発ブランチ全体を配備しない。

現在は family_archive.py が利用中の3条件で保存を拒否するほか、family_archive_guard.py のORM書込監視が家庭・園児・保護者・紐づけ・入力依頼の更新を拒否する。画面のボタンだけ有効化すると、アーカイブ後の利用が止まる。

合意後は、上記拒否と、編集時の記録画面への転送、家庭選択候補の除外、同期・初期化の除外、初回入力対象の拒否、各CSVのアーカイブ拒否を一体で見直す。アーカイブ操作の権限・CSRF・確認トークン・同時更新検知・監査履歴は維持する。APIやCSVから無断でアーカイブ状態を変える操作は引き続き拒否する。

試用

tools/family-archive-review/build.py は上記配備版の編集・入出力テンプレートを架空値で描画する。既存27種類のフォーム項目名と写真2欄を保持し、生成物と元テンプレートのハッシュを記録する。8家庭をブラウザーのメモリだけで扱い、DB・外部送信には接続しない。

http://127.0.0.1:8877/ の「試す場面」から、在園児、有効な保護者、進行中の依頼、アーカイブ後の編集、未入力・一部入力、保存エラー、復帰、CSVのID更新・同名エラーを確認する。「園児・保護者の利用を確認」は利用状態の補助表示であり、実際のログイン・通知・請求処理の検証画面ではない。

合意と実装

ユーザーの選択を受けて、上記の編集継続・選択候補・CSV更新・ラベル変更まで具体化し、モックの試用後に合意した。本実装・架空データでの操作検証・本番への追加配備を完了。本番では画面の読み取り専用検査とデータ保持を確認し、実際の家庭をアーカイブする機能試験は行っていない。

AGENTS.md の「ユーザーがモックを試して認識を合わせてから、合意した内容を実装する」に従って進める。

モックの確認結果

2026-09-22、更新した静的ページをブラウザーで操作して確認した。

  • 在園児・有効な保護者・進行中の入力依頼がそれぞれ残っていても保存でき、補助画面に元の利用状態と紐づけが残る。
  • アーカイブ済み家庭の住所を編集でき、保存後もアーカイブ状態・園児の紐づけを維持する。復帰後も変更した住所を保持する。
  • 保存失敗後は確認画面に残り、取消すると通常表示7・アーカイブ済み1の元の件数を保つ。
  • アーカイブ済みIDへのCSV更新はエラー0件で模擬実行でき、住所を変更してもアーカイブ状態を維持する。同名2家庭のサンプルではID不足で取込不可。
  • CSVの対象行変更直後は実行ボタンを無効化し、再検証後に対象1・更新1・要確認0へ更新する。
  • 確認画面の通常幅・幅390pxを目視確認。幅390pxでは表示領域と内容幅が共に375pxで横にはみ出さず、メモと保存ボタンも操作できる。
  • ブラウザーの警告・エラーログ0件。JavaScript構文検査、既存27種類のフォーム項目名と写真2欄を保持するビルド検査が成功。

これらはモックの確認結果であり、本番の利用継続・DB更新・通知・請求処理を検証した結果ではない。