diff --git a/CLAUDE.md b/CLAUDE.md index cd33fb57..ccbfc339 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -309,6 +309,41 @@ docs/ **📋 詳細**: [DOCUMENTATION_REORGANIZATION_STRATEGY.md](DOCUMENTATION_REORGANIZATION_STRATEGY.md) +## 🚨 コンテキスト圧縮時の重要ルール + +### ⚠️ **コンテキスト圧縮を検出した場合の必須手順** + +**コンテキスト圧縮** = 会話履歴が要約される現象(conversation summaryで検出可能) + +#### 🛑 **絶対にやってはいけないこと** +- **推測で作業を続行しない** +- 不完全な情報で重要な変更をしない +- ビルドチェックを飛ばさない +- ユーザー確認なしに進行しない + +#### ✅ **必ず実行すべき手順** +1. **⏸️ 作業停止** - 「コンテキスト圧縮を検出しました」と報告 +2. **📊 状況確認** - 以下を必ずチェック: + ```bash + git status # 現在の変更状況 + git log --oneline -3 # 最近のcommit履歴 + cargo check # ビルド状況 + ``` +3. **📋 現在タスク確認** - `CURRENT_TASK.md` を読み取り +4. **🤝 明示的確認** - ユーザーに「次に何をしましょうか?」と確認 + +#### 📍 **現在状況の記録場所** +- **進行中タスク**: `CURRENT_TASK.md` +- **最後の安定状態**: git commit hash +- **ビルド状況**: `cargo check` の結果 +- **重要な制約**: CURRENT_TASK.md内の注意事項 + +#### 💡 **圧縮時によくある混乱の回避** +- 「何をしていたか」→ `CURRENT_TASK.md`で確認 +- 「ビルドできるか」→ `cargo check`で確認 +- 「どこまで進んだか」→ `git log`で確認 +- 「次は何か」→ **ユーザーに明示的に確認** + --- 最終更新: 2025年8月11日 - **🎁 `pack`構文革命完全達成!** diff --git a/src/interpreter/expressions.rs b/src/interpreter/expressions.rs index 4626d7c7..b137f42d 100644 --- a/src/interpreter/expressions.rs +++ b/src/interpreter/expressions.rs @@ -8,7 +8,8 @@ use super::*; use crate::ast::UnaryOperator; -use crate::boxes::{buffer::BufferBox, JSONBox, HttpClientBox, StreamBox, RegexBox, IntentBox, P2PBox, FloatBox}; +use crate::boxes::{buffer::BufferBox, JSONBox, HttpClientBox, StreamBox, RegexBox, IntentBox, P2PBox}; +use crate::boxes::math_box::FloatBox; use crate::boxes::{MathBox, ConsoleBox, TimeBox, RandomBox, SoundBox, DebugBox, file::FileBox, MapBox}; use crate::box_trait::BoolBox; use crate::operator_traits::OperatorResolver; diff --git a/src/interpreter/objects.rs b/src/interpreter/objects.rs index 642c0abb..b5902714 100644 --- a/src/interpreter/objects.rs +++ b/src/interpreter/objects.rs @@ -9,6 +9,7 @@ use super::*; use crate::boxes::null_box::NullBox; use crate::boxes::console_box::ConsoleBox; +use crate::boxes::math_box::FloatBox; // use crate::boxes::intent_box_wrapper::IntentBoxWrapper; use std::sync::Arc;