میں نے 26 فروری اور 1 اپریل 2026 کے درمیان گیارہ نیوٹوما ریلیز بھیجے۔ ابتدائی [ڈیولپر ریلیز](/posts/neotoma-developer-release) فعال لیکن کچا تھا۔ اس نے میری مشین پر، میرے ورک فلو میں، میرے مفروضوں کے ساتھ کام کیا۔ پانچ ہفتوں کے ایویلیویٹر فیڈ بیک، روزانہ dogfooding، اور حقیقی دنیا کا استعمال سامنے آیا جہاں یہ سب کے لیے ٹوٹ گیا۔

بہتری کا سب سے بڑا زمرہ CLI قابل اعتماد ہے، کیونکہ CLI پہلی چیز ہے جسے ایک نیا صارف چھوتا ہے اور پہلی چیز جو آن بورڈنگ کے دوران ناکام ہو سکتی ہے۔

دوسرا MCP استحکام ہے، کیونکہ MCP سرور وہ ہے جسے ایجنٹ دن میں سینکڑوں بار کال کرتے ہیں اور خاموش ناکامی وہاں بغیر وارننگ کے کام کے بہاؤ کو خراب کر دیتی ہے۔

تیسرا حقیقی حالات میں ڈیٹا کی سالمیت ہے۔ اس پوسٹ میں npm پیکج میں تبدیلی کا احاطہ کیا گیا ہے، نہ کہ سائٹ یا دستاویزات۔

رفتار ہر تین سے چار دن میں ایک ریلیز تھی۔ کچھ ریلیز نے ایک ہی صفحہ بندی کی خرابی کو ٹھیک کیا۔ دوسروں نے CLI، HTTP ایکشنز، اور MCP رن ٹائم میں سختی کے ہفتوں کا بنڈل کیا۔ عام دھاگہ یہ ہے کہ ہر ریلیز نے ایسی چیز کو مخاطب کیا جس نے پہلی بار نیوٹوما کو استعمال کرنے کی کوشش کرنے والے حقیقی شخص کو توڑا یا الجھا دیا۔

## CLI نے یہ فرض کرنا چھوڑ دیا کہ یہ میں ہوں۔

ڈویلپر کی ریلیز CLI نے میری مشین پر سورس چیک آؤٹ سے کام کیا۔ یہ واحد سیاق و سباق تھا جس کا میں نے تجربہ کیا تھا۔ رائے کی پہلی لہر نے واضح کر دیا کہ یہ کافی نہیں ہے۔

پہلا فکس پاتھ ریزولوشن تھا۔ جب آپ npm کے ذریعے عالمی سطح پر Neotoma انسٹال کرتے ہیں اور اسے کسی صوابدیدی ڈائرکٹری سے چلاتے ہیں، تو CLI کو بغیر کسی سورس چیک آؤٹ کے اپنے وسائل تلاش کرنے کی ضرورت ہوتی ہے۔ v0.3.3 نے انسٹال کردہ پیکیج کے مقام سے فال بیک ریزولوشن شامل کیا۔ v0.3.8 نے `openapi.yaml` کو npm ٹربال کے اندر بھیج دیا تاکہ spec فائل ہمیشہ دستیاب رہے، صرف اس وقت نہیں جب آپ نے ریپو کو کلون کیا۔

ماحول کا پتہ لگانے کے بعد آیا. CLI اب سورس چیک آؤٹ سے چلانے اور عالمی npm انسٹال سے چلانے کے درمیان فرق کرتا ہے۔ وہ خصوصیات جن کے لیے سورس کی ضرورت ہوتی ہے (جیسے ٹنل موڈ) خفیہ ناکامیوں کے بجائے واضح ایرر میسیجز کے ساتھ گیٹ کیے جاتے ہیں۔ CLI آؤٹ پٹ میں اصطلاحات بھی بدل گئی: ترتیب شدہ رن ٹائم لوکیشن کے لیے "نیوٹوما پاتھ"، ڈیو ورک فلوز کے لیے "ماخذ چیک آؤٹ"۔ پچھلی زبان دونوں کے لیے "ریپو" کا استعمال کرتی تھی، جس نے ان لوگوں کو الجھن میں ڈال دیا جو npm کے ذریعے انسٹال کرتے تھے اور ان کے پاس کوئی ریپو نہیں تھا۔

کئی ریلیزز میں init کا بہاؤ بہتر ہوا۔ v0.3.6 سے لے کر v0.3.9 تک بتدریج پہلے کے تجربے کو سخت کیا: بہتر ماحول کا ہدف بنانا، واضح آغاز UX، مضبوط کنفیگریشن پاتھ ہینڈلنگ۔ v0.3.10 تک، CLI اپنے انسٹال سیاق و سباق کا پتہ لگا سکتا ہے اور صارف کو کچھ بتائے بغیر رویے کو ایڈجسٹ کر سکتا ہے۔

v0.3.11 سب سے بڑا سنگل CLI ریلیز تھا۔ اس نے لچکدار تلاش کو شامل کیا (`نوٹوما اداروں کی تلاش` پوزیشنی شناخت کنندگان کے ساتھ، `--شناخت کنندہ`، اور `--استفسار` بطور عرفی)، اسٹور کے لیے ایک ترجیحی ساختی ان پٹ پاتھ (`--entities` اور `--file` موجودہ `--json=` کے ساتھ)، اور `Storage merge-db` کے ساتھ SQLite کے تنازعات کے موڈ کے ساتھ com. v0.4.0 نے نوڈ، بن، اور ڈینو ریپرز میں دلیل سے نمٹنے کو زیادہ قابل اعتماد بنایا۔

خالص اثر: CLI "میری مشین پر کام کرتا ہے" سے "کسی اور کی مشین پر صوابدیدی ڈائرکٹری میں ایک تازہ این پی ایم انسٹال پر کام کرتا ہے۔" یہ خلا میری توقع سے زیادہ تھا۔

## MCP روزانہ ایجنٹ کے استعمال کے لیے محفوظ ہو گیا۔

MCP سرور یہ ہے کہ ایجنٹ کس طرح Neotoma کے ساتھ تعامل کرتے ہیں۔ اسے ان طریقوں سے قابل اعتماد ہونے کی ضرورت ہے جو CLI سے مختلف ہوں۔ ایجنٹ غلطی کے پیغامات نہیں پڑھتے ہیں۔ وہ دوبارہ کوشش کرتے ہیں، غلط تشریح کرتے ہیں، یا خاموشی سے سیاق و سباق کو چھوڑ دیتے ہیں۔

پہلا MCP فکس معمولی لیکن اہم تھا۔ v0.3.8 اسکیما رجسٹری کے معلوماتی لاگز کو stdout سے منتقل کر دیا گیا۔ MCP ایجنٹ اور سرور کے درمیان ساختی مواصلت کے لیے stdio استعمال کرتا ہے۔ اسی سلسلے میں لاگ ان کرنے سے پروٹوکول خراب ہوگیا۔ ایجنٹوں کو منہ توڑ جواب ملے گا یا لٹکا دیا جائے گا۔ لاگز کو stderr میں منتقل کرنے سے خاموش ناکامیوں کی ایک کلاس طے ہو گئی جس کی تشخیص کرنا مشکل تھا۔

v0.3.11 میں HTTP ایکشن لیئر اور entity query ہینڈلنگ کے ساتھ وسیع MCP رن ٹائم اپ ڈیٹس شامل ہیں۔ بازیافت کے راستے فہرست بمقابلہ شناخت کنندہ طرز کے سوالات کے لیے زیادہ قابل اعتماد ہو گئے۔ لغوی تلاش کے انضمام کو رجعت کی کوریج ملی۔ MCP سرور اور HTTP API اب زیادہ رویے کا اشتراک کرتے ہیں، لہذا ایجنٹ اور براہ راست API صارفین مسلسل نتائج دیکھتے ہیں۔

v0.4.0 نے اس کام کو ٹائم لائن جنریشن، آبزرویشن پروجیکشن، اسنیپ شاٹ کمپیوٹیشن، اور اسکیما رجسٹری رویے میں بہتری کے ساتھ جاری رکھا۔ یہ وہ اندرونی میکانزم ہیں جو اس بات کا تعین کرتے ہیں کہ جب ایجنٹ ہستی کی حالت سے استفسار کرتے ہیں تو وہ کیا دیکھتے ہیں۔ ان کو درست کرنے کا مطلب ہے کہ ایجنٹوں کو سیشنوں میں مستقل اور درست جوابات ملتے ہیں۔

## صفحہ بندی اور ہستی فلٹرنگ ایماندارانہ ہوگئی

v0.3.4 نے ایک مخصوص بگ کو ٹھیک کیا جس نے ایک وسیع تر مسئلہ کو بے نقاب کیا۔ جب آپ نے قسم کے لحاظ سے اداروں سے استفسار کیا (کہیں، تمام کام)، حذف شدہ ہستیوں کو نتائج کی گنتی میں شامل کیا گیا تھا لیکن مرئی نتائج سے فلٹر کیا گیا تھا۔ صفحہ بندی آفسیٹس نے غیر فلٹر شدہ گنتی کا استعمال کیا۔ نتیجہ: توقع سے کم آئٹمز والے صفحات، متضاد ٹوٹل، اور وہ ایجنٹ جو سوچتے تھے کہ انہوں نے سب کچھ حاصل کر لیا ہے جب ان کے پاس نہیں تھا۔

فکس فلٹرنگ کے بعد صفحہ بندی کرنا تھا، پہلے نہیں۔ کل اب مرئی ہستیوں کی عکاسی کرتا ہے۔ یہ معمولی لگتا ہے لیکن یہ کسی بھی ایجنٹ کے ورک فلو کے لیے اہمیت رکھتا ہے جو نتائج کے ذریعے صفحہ کرتا ہے، جو کہ ان میں سے زیادہ تر اس وقت ہوتا ہے جب آپ کے پاس کسی بھی قسم کی چند درجن سے زیادہ ہستیاں ہوں۔

## ڈیٹا بیس کا انضمام ایک حقیقی ٹول بن گیا۔

میں نے مارچ میں [6,000 یادوں کو کھونے اور بحال کرنے کے بارے میں لکھا](/posts/how-i-lost-and-recovered-6000-memories)۔ اس تجربے نے v0.3.11 میں ایک مناسب CLI کمانڈ کے طور پر شپنگ `storage merge-db` کی حوصلہ افزائی کی۔

کمانڈ واضح تنازعات سے نمٹنے کے ساتھ دو SQLite ڈیٹا بیس کو ضم کرتی ہے۔ تین طریقوں: `محفوظ` (پہلے سے طے شدہ، کسی بھی تنازعہ پر ناکام)، `کیپ-ٹارگٹ` (تصادم پر ہدف کی جیت)، `کیپ سورس` (ذریعہ جیت)۔ ڈرائی رن موڈ پیش نظارہ کرتا ہے کہ آپ کے ارتکاب سے پہلے کیا داخل کیا جائے گا اور کیا تنازعہ ہوگا۔ ضم ہونے کے بعد، کمانڈ مشاہدے کے لاگ سے ہستی کے سنیپ شاٹس کی دوبارہ گنتی کرتی ہے تاکہ اخذ کردہ حالت درست رہے۔

یہ صرف ایک ریکوری ٹول نہیں ہے۔ یہ متعدد نیوٹوما مثالوں سے ڈیٹا کو یکجا کرنے، مشینوں کے درمیان منتقلی، اور دیو اور پروڈکشن ڈیٹا بیس کو ضم کرنے کا انتظام کرتا ہے۔ مشاہدے پر مبنی فن تعمیر ان تمام کارروائیوں کو محفوظ بناتا ہے کیونکہ مشاہدات ناقابل تغیر ہوتے ہیں اور اسی مشاہدے کے سیٹ کو دیکھتے ہوئے ہستی کی حالت تعییناتی ہے۔

## ملٹی ٹول سپورٹ کو بڑھا دیا گیا۔

ڈویلپر کی ریلیز نے MCP کے ذریعے Cursor، Claude، اور ChatGPT کو سپورٹ کیا۔ v0.3.11 نے واضح ChatGPT انٹیگریشن دستاویزات کو شامل کیا اور `openapi_actions.yaml` بھیج دیا، جو کہ کسٹم GPT اور HTTP ایکشنز ورک فلو کے لیے ایک OpenAPI کی شکل کی سطح ہے۔ اس کا مطلب ہے کہ ChatGPT Neotoma کو صرف MCP کے ذریعے نہیں بلکہ مقامی ایکشن انٹرفیس کے ذریعے استعمال کر سکتا ہے جسے کسٹم GPTs استعمال کرتا ہے۔

OpenAPI معاہدہ خود v0.3.11 اور v0.4.0 میں ایکشن لیئر میں تبدیلیوں کو ظاہر کرنے کے لیے اپ ڈیٹ کیا گیا تھا۔ اگر آپ API کے ذریعے پروگرامی طور پر Neotoma استعمال کرتے ہیں، تو ان ریلیزز کو کسی بھی تخلیق کردہ کلائنٹس کو دوبارہ چیک کرنے کی ضرورت ہوتی ہے۔

## نکالنے کا پرانا راستہ ہٹا دیا گیا۔

v0.4.0 نے `llm_extraction` کوڈ کا راستہ ہٹا دیا۔ یہ ایک میراثی نقطہ نظر تھا جس نے اسٹوریج پائپ لائن میں زبان کے ماڈل استعمال کیے تھے۔ Neotoma کے ڈیزائن کا اصول یہ ہے کہ کوئی LLM اسٹوریج یا بازیافت کے لیے اہم راستے پر نہیں بیٹھتا۔ نکالنا ایجنٹ کی تہہ پر ہوتا ہے، نیوٹوما کے اندر نہیں۔ پرانے راستے کو ہٹانا کوڈبیس کو اس اصول کے ساتھ سیدھ میں کرتا ہے اور اندرونی کو آسان بناتا ہے۔

یہ اس قسم کی تبدیلی ہے جو صارفین کے لیے پوشیدہ ہے لیکن پروجیکٹ کی سمت کے لیے اہمیت رکھتی ہے۔ نیوٹوما ایک سچائی کی تہہ ہے، کوئی انفرنس پرت نہیں۔ نکالنے کے راستے نے اس لائن کو دھندلا کردیا۔ اب ایسا نہیں ہوتا۔

## رفتار نے مجھے کیا سکھایا

پانچ ہفتوں میں گیارہ ریلیز بھیجنے کا منصوبہ نہیں تھا۔ ہر ریلیز نے کسی خاص چیز کا جواب دیا: ایک بگ رپورٹ، ایک مبہم فرسٹ رن تجربہ، ایک ورک فلو جو پیداوار میں ٹوٹ گیا، ایک آرکیٹیکچرل عدم مطابقت جس کو میں نظر انداز نہیں کر سکتا تھا۔

جو نمونہ سامنے آیا وہ یہ تھا: روزمرہ کے استعمال کے مسائل کی سطح، جائزہ لینے والے کی رائے ترجیحات کی تصدیق کرتی ہے، اور چھوٹی ریلیز ان کو مرکب کرنے سے پہلے ہی ٹھیک کر دیتی ہیں۔ متبادل، بڑی ریلیز میں بیچنگ تبدیلیاں، حقیقی صارفین کو ہفتوں تک ٹوٹے ہوئے رویے پر پھنس کر رہ جاتی۔

ڈویلپر کی ریلیز کو "مقصد کے مطابق کسی نہ کسی طرح" کے طور پر رکھا گیا تھا۔ وہ ایماندار تھا۔ جس چیز کا میں نے کم اندازہ لگایا وہ یہ تھا کہ کتنے کھردرے کنارے میرے اپنے سیٹ اپ کے لیے مخصوص تھے۔ پاتھ ریزولوشن، ماحول کا پتہ لگانے، stdio سیفٹی، صفحہ بندی کی مستقل مزاجی: ان میں سے کوئی بھی میرے لیے مسئلہ نہیں تھا کیونکہ میں اپنے ڈیٹا کے ساتھ اپنے ٹرمینل میں سورس سے بھاگا تھا۔ پہلی بار این پی ایم کے ذریعے انسٹال کرنے والے کسی کے لیے ان میں سے ہر ایک مسئلہ تھا۔

اگلا مرحلہ مختلف ہے۔ پہلے پانچ ہفتوں نے جواب دیا "کیا یہ کسی ایسے شخص کے لیے کام کرتا ہے جو میں نہیں ہوں۔" اگلا اسٹریچ جواب دیتا ہے کہ "کوئی اس چیز سے کیوں بدل جائے گا جو اس نے پہلے سے بنایا ہے۔"

میرے [تجزیہ کار گروپ](/posts/customer-research-through-Agents) میں کم از کم دس لوگ اپنی ایجنٹ میموری بنا رہے ہیں۔ مارک ڈاؤن فائلز، SQLite، JSON دل کی دھڑکنیں، فلیٹ فائل CRMs۔ ایک ہی مسئلہ، مختلف نفاذ۔ ان میں سے کئی نے اس کے لیے درست محرکات کا نام دیا ہے کہ ان کا حل کب ٹوٹے گا: متعدد ایجنٹوں کی طرف سے ہم آہنگی سے لکھے گئے سوالات، جن کا وہ جواب نہیں دے سکتے، چند درجن فعال اداروں کے پیچھے پیمانہ۔ وہ محرکات میرا روڈ میپ ہیں۔

ٹھوس اگلے اہداف اس بات سے آتے ہیں جو تجزیہ کاروں نے مانگے ہیں، فیچر کی خواہش کی فہرست سے نہیں۔

- **فوری ادائیگی کے ساتھ معمولی آن بورڈنگ۔** CLI اب دوسری مشینوں پر کام کرتا ہے، لیکن "کام کرتا ہے" "قدر کے پانچ منٹ" جیسا نہیں ہے۔ ایک تشخیص کار نے VM پر سیٹ اپ ہونے سے پہلے دستاویزات کو پڑھنے میں ایک گھنٹہ گزارا۔ اسے پانچ منٹ ہونے کی ضرورت ہے، اور پہلی چیز جو انسٹال کرنے کے بعد ہوتی ہے وہ خالی ڈیٹا بیس نہیں ہونا چاہیے۔ ایجنٹ کے ذریعے چلنے والی آن بورڈنگ کو آپ کی مقامی فائلوں کو اسکین کرنا چاہیے، Neotoma کو حقیقی ریکارڈ کے ساتھ آباد کرنا چاہیے، اور ایسی ٹائم لائن یا بصیرت کو سامنے لانا چاہیے جو آپ کے پاس پہلے نہیں تھی۔ آہا لمحہ "یہ انسٹال" نہیں ہے۔ آہا لمحہ یہ ہے کہ "یہ پہلے سے ہی میرے ڈیٹا کے بارے میں کچھ مفید جانتا ہے۔"
- **ایک واضح بقائے باہمی کی کہانی۔** متعدد جائزہ کاروں نے پوچھا کہ کیا نیوٹوما کو کلاڈ کی آٹو میموری یا ChatGPT کی بلٹ ان میموری کے ساتھ رہنا چاہیے، یا ان کی جگہ لے لینی چاہیے۔ جواب ساتھ میں ہے، اور پروڈکٹ کو یہ واضح کرنے کی ضرورت ہے۔
- **ڈومینز میں گہرائی جہاں پرویننس غیر گفت و شنید ہے۔** صحت کی دیکھ بھال، تعمیل، مالیاتی آڈٹ: ان جگہوں پر جائزہ لینے والوں نے کہا کہ زبان پہلے سے فٹ ہے۔ کام اسکیموں کو بنا رہا ہے اور ان عمودی حصوں کے لئے کنکریٹ کی ضمانت دیتا ہے۔

گہرا آرکیٹیکچرل کام میرے اپنے روزمرہ کے استعمال سے آتا ہے، تشخیص کرنے والے کی درخواستوں سے نہیں۔ Neotoma کو کئی مہینوں تک میری بنیادی میموری پرت کے طور پر چلانے سے ساختی مسائل سامنے آئے جن کا ابھی تک باہر سے کوئی بھی نوٹس نہیں لے گا۔

- **باؤنڈ کنورجنسنس۔** ایجنٹ اسٹاکسٹک ہوتے ہیں۔ ایک ہی صارف کا پیغام ماڈل موڈ کے لحاظ سے مختلف ہستی کی اقسام، فیلڈ کے نام، اور تعلقات کے ڈھانچے تیار کر سکتا ہے۔ میری مثال میں 170 ہستی کی قسمیں ہیں، اور اس میں سے کچھ مختلف قسمیں بڑھے ہوئے ہیں، حقیقی آنٹولوجی نہیں۔ اگلی ریلیزز رائٹ ٹائم نارملائزیشن کو شامل کرتی ہیں: عرف میپنگز تاکہ `خریداری` اور `ٹرانزیکشن` ایک ہی کینونیکل قسم میں حل ہو جائیں، مبہم فیلڈ مماثلت تاکہ `رقم` اور `رقم_یور` سکیما کو فورک نہ کریں، اور بازیافت میں اضافہ شدہ ذخیرہ کریں تاکہ ایجنٹ کے بنانے سے پہلے سسٹم ان کی ڈپلیکیٹس کی جانچ کرے۔
- **اسکیما گورننس۔** اس وقت کوئی بھی ایجنٹ فرسٹ اسٹور پر ایک نئی ہستی کی قسم ایجاد کر سکتا ہے۔ یہ آزادی جلد مفید ہے لیکن پیمانے پر صفائی کا مسئلہ پیدا کرتی ہے۔ منصوبہ بند گورننس پرت عرفی رجسٹریشن، فرسودگی لائف سائیکل، اور تشخیصی انتباہات کو شامل کرتی ہے جب اسٹور کینونیکل اسکیما سے ہٹ جاتا ہے۔ سسٹم لکھنے پر اجازت دیتا ہے لیکن جواب میں تاثرات دیتا ہے تاکہ ایجنٹ خود کو درست کریں۔
- **ترقی پسند نفاذ۔** اسکیموں کا آج ایک بار اندازہ لگایا جاتا ہے اور کبھی سخت نہیں کیا جاتا ہے۔ اگلا مرحلہ اعتماد سے باخبر رہنے کا ہے: ایک قسم کے کافی مشاہدات کے بعد، اسکیما کرسٹلائز ہو جاتا ہے اور سسٹم گمشدہ عام فیلڈز، قسم کی مماثلتوں اور ٹوٹے ہوئے تعلقات کے نمونوں پر خبردار کر سکتا ہے۔ اسٹورز کو مسدود نہیں کرنا، صرف غلط نظر آنے والی چیزوں کو سرفیس کرنا۔ سخت موڈ اعلی درجے کی قسموں کے لیے آپٹ ان بن جاتا ہے جیسے مالیاتی ریکارڈ جہاں نکالنے میں فرق اہمیت رکھتا ہے۔

Neotoma [GitHub پر اوپن سورس](https://github.com/markmhendrickson/neotoma) ہے۔ اگر آپ نے ڈویلپر کی رہائی کی کوشش کی اور کسی نہ کسی کنارے کو مارا، تو ان میں سے بہت سے ان ریلیز میں حل کیے گئے ہیں۔ اگر آپ نے ابھی تک اس کی کوشش نہیں کی ہے تو، بہترین نقطہ آغاز یہ ہے کہ [اپنے ایجنٹ سے اس بات کا اندازہ کرنے کے لیے پوچھیں کہ کیا نیوٹوما آپ کے ورک فلو کے مطابق ہے](https://neotoma.io/evaluate)۔ ایجنٹ صفحہ کو پڑھتا ہے، آپ کے سیٹ اپ کا معائنہ کرتا ہے، اور آپ کو کچھ بھی انسٹال کرنے سے پہلے ایمانداری سے بتاتا ہے کہ آیا یہ مناسب ہے یا نہیں۔