Skip to content

স্টোরেজ লেআউট ​

সমস্ত ডেটা ~/.somtum/-এর অধীনে থাকে:

~/.somtum/
├── config.json                         ← গ্লোবাল কনফিগ (প্রজেক্ট কনফিগের সাথে মার্জ করা)
├── hook.log                            ← প্রতিটি হুক এক্সিকিউশনের টাইমস্ট্যাম্পযুক্ত লগ
├── session/
│   └── lh_<id>.json                    ← প্রতি প্রজেক্টে শেষ ক্যাশ-হিট স্টেট (false-hit সনাক্তকরণ)
│                                         ২৪ ঘণ্টার বেশি পুরনো ফাইলগুলি স্বয়ংক্রিয়ভাবে বাদ দেওয়া হয়
├── warmstart/
│   └── ws_<id>_<timestamp>.json        ← PreCompact-এর পরে লেখা warm-start কনটেক্সট (৩০ মিনিট TTL)
│                                         একযোগে উইন্ডোগুলি একে অপরকে ওভাররাইট না করতে টাইমস্ট্যাম্পযুক্ত
└── projects/
    └── <project_id>/
        ├── db.sqlite                   ← সত্যের উৎস (SQLite WAL)
        ├── index.md                    ← মানব-পঠনযোগ্য মিরর (rebuild-এ পুনর্জন্ম)
        └── memories/
            └── YYYY-MM/
                └── <ulid>.md           ← প্রতি-পর্যবেক্ষণ markdown ফাইল

প্রজেক্ট ID ​

প্রজেক্ট ID git রিমোট URL থেকে উদ্ভূত (বা রিমোট না থাকলে ডিরেক্টরি পাথ)। একই প্রজেক্ট মেশিন জুড়ে একই ID-তে ম্যাপ হয় যতক্ষণ রিমোট URL মেলে — এটাই মাল্টি-ডিভাইস সিঙ্ককে কাজ করায়।

সত্যের উৎস ​

SQLite হল সত্যের উৎস। হাতে নয়, somtum edit <id> দিয়ে পর্যবেক্ষণ সম্পাদনা করুন। index.md এবং প্রতি-পর্যবেক্ষণ .md ফাইলগুলি DB থেকে তৈরি মানব-পঠনযোগ্য মিরর।

হুক লগ ​

প্রতিটি হুক এক্সিকিউশন ~/.somtum/hook.log-এ যোগ করা হয়। ডিবাগ করার সময় পরীক্ষা করুন:

bash
cat ~/.somtum/hook.log
tail -20 ~/.somtum/hook.log

Warm-start ফাইল ​

একটি PreCompact ইভেন্টের পরে (কনটেক্সট উইন্ডো কম্প্যাকশন), Somtum সবচেয়ে সাম্প্রতিক কনটেক্সট ধারণকারী একটি warm-start ফাইল লেখে। পরবর্তী প্রম্পটে, এটি স্বয়ংক্রিয়ভাবে ইনজেক্ট হয় যাতে Claude যেখান থেকে ছেড়েছিল সেখান থেকে তুলে নেয়। ফাইলগুলি ৩০ মিনিটের পরে মেয়াদ শেষ হয়।

ব্যাকআপ বা মাইগ্রেট করা ​

আপনার মেমরি একটি নতুন মেশিনে নিয়ে যেতে:

bash
# পুরনো মেশিন থেকে এক্সপোর্ট করুন
somtum export --format jsonl --output obs.jsonl

# নতুন মেশিনে কপি করুন, তারপর ইমপোর্ট করুন
somtum import obs.jsonl

অথবা বিল্ট-ইন সিঙ্ক ব্যবহার করুন:

bash
somtum config set sync.remote "user@newhost:/path/.somtum/projects/<id>"
somtum sync push

MIT লাইসেন্সের অধীনে প্রকাশিত।