لغت
بنیادی اینٹٹیز
سیکشن کا عنوان “بنیادی اینٹٹیز”ایجنٹ: ایک AI ورکر جس کی اپنی شناخت، کردار، مہارتیں اور اڈاپٹر ہوں۔ ٹھیک ایک ورک اسپیس سے تعلق رکھتا ہے۔ نظام کا بنیادی اداکار۔
اڈاپٹر: وہ رنر جو ایجنٹ کی ایک باری چلاتا ہے۔ دو دستیاب ہیں: Control Center (بلٹ اِن) — پراسیس کے اندر چلنے والا ہارنس جو ماڈل فراہم کنندگان سے بات کرتا ہے — اور Claude Code، claude -p کے ذریعے۔ Cursor، Codex، Anthropic، OpenAI اور باقی سب بلٹ اِن اڈاپٹر کے فراہم کنندگان ہیں، الگ CLIs نہیں۔ اڈاپٹرز اور ماڈلز منظم کریں دیکھیں۔
ورک اسپیس: سب سے اوپر کی تنہائی ٹیننٹ۔ ایجنٹس، ریپوز، اسپیسز، ٹکٹس، میموری اور پائپ لائنز کو گروپ کرتی ہے۔ تنہائی ساختی ہے، روایتی نہیں: ہر ورک اسپیس کی اپنی SQLite فائل (<dataDir>/<workspaceId>/workspace.db) ہوتی ہے، چنانچہ ورک اسپیس کے پار کوئی ریڈ کمپائل ہی نہیں ہوتا۔ ایپ کے اندر ہر روٹ پر /workspaces/:workspaceId سابقہ لگا ہوتا ہے — روٹ میپ دیکھیں۔
forge: ایک کوڈ ہوسٹ — GitHub، GitLab یا Bitbucket Cloud۔ forge ہر ریپو کی ایک خاصیت ہے جو رجسٹریشن کے وقت اس کے origin ریموٹ سے پڑھی جاتی ہے، اور یہ اسی ریپو کا API اڈاپٹر اور اسناد منتخب کرتی ہے۔ ایک ورک اسپیس تینوں پر ریپوز رکھ سکتی ہے؛ جمع کرنے والی سطحیں (ان باکس، PR قطار) ہر موجود forge پر پھیل کر نتائج ضم کرتی ہیں اور ناکامیوں کو الگ تھلگ رکھتی ہیں، چنانچہ کوئی ناقابلِ رسائی forge باقی سب کو خالی نہیں کرتا۔ forges میں سپورٹ کا فرق ہے — کوڈ ہوسٹ جوڑیں میں قابلیت کا جدول دیکھیں۔
ریپو: ایک ورک اسپیس کے اندر رجسٹرڈ Git ریپوزٹری۔ ورک اسپیس تک محدود — ایک ہی چیک آؤٹ جو دو ورک اسپیسز میں رجسٹرڈ ہو، دو آزاد قطاریں اور دو ids ہے؛ ورک اسپیسز کے پار ریپو کی شناخت فائل سسٹم پاتھ سے ہوتی ہے، id سے کبھی نہیں۔ رجسٹریشن کے لیے ایسا git ورک ٹری درکار ہے جس کا origin ریموٹ کسی معاون forge کی طرف اشارہ کرے۔ ہر ریپو اپنے ساتھ وہ forge (github / gitlab / bitbucket) رکھتا ہے، جو اس کے لیے استعمال ہونے والا API اڈاپٹر اور اسناد منتخب کرتا ہے۔
آئسولیٹڈ ریپو: رجسٹرڈ ریپو کا ورک اسپیس تک محدود ورک ٹری۔ جہاں بھی وہ نیٹو دستیاب ہو وہاں rift کے ذریعے کاپی آن رائٹ؛ Windows پر git worktree۔ فی اسپیس پروویژن کیا جاتا ہے — اس اسپیس کی ہر گفتگو ایک ہی چیک آؤٹ شیئر کرتی ہے — چنانچہ ایجنٹس سورس کو کبھی تبدیل نہیں کرتے۔
اسپیس: ورک اسپیس تک محدود تعاون کا کنٹینر، جس میں انسانی اور ایجنٹ شرکا، ایک محفوظ Mode، پروویژننگ اسٹیٹس اور ایک SpaceKind (topic / agentPeer / system / pr / slack) ہوتا ہے جو طے کرتا ہے کہ اسے کیسے سیکشنوں میں بانٹا، خاموش، بیج اور garbage-collected کیا جائے گا۔ اس کے پاس وہ آئسولیٹڈ ورک ٹریز ہوتے ہیں جو اس کی گفتگوئیں شیئر کرتی ہیں (rift کے ذریعے کاپی آن رائٹ؛ Windows پر git worktree)۔
گفتگو: ایک اسپیس کے اندر پیغامات کا ایک سلسلہ، جس کی اپنی id، تاریخ اور ایجنٹ رن کا سیاق ہوتا ہے۔ کسی اسپیس میں گفتگوئیں برابر کی ہم سطح ہوتی ہیں — کوئی بنیادی یا “مرکزی” سلسلہ نہیں ہوتا۔ ہر ایک ایڈیٹر ٹیب کے طور پر کھلتی ہے؛ اسپیس کی نہ پڑھی گئی حالت اُن سب کو ملا کر بنتی ہے۔
تھریڈ: ایسی گفتگو جس کی anchorMessageId سیٹ ہو: اسی اسپیس کی کسی بہن گفتگو کے ایک پیغام سے اینکر شدہ، اور اُس اینکر پیغام سے ایک تازہ ایجنٹ سیاق کا بیج لیا گیا ہوتا ہے۔ صرف ایک سطح گہرا — تھریڈ کبھی تھریڈ سے اینکر نہیں ہوتا۔
ٹکٹ: کام کی اکائی کا ایگریگیٹ۔ وینڈر سے غیر جانبدار: بطور ڈیفالٹ local، اور Linear، GitHub Issues، Jira Cloud اور ClickUp کے لیے سنک اڈاپٹرز — تاہم ایپ کے اندر کوئی سطح سنک کنکشن نہیں بناتی۔ درجہ بندی، لنکس اور تفویض کی حمایت کرتا ہے۔ کسی ایجنٹ کو تفویض مالکیت درج کرتا ہے اور کچھ ڈسپیچ نہیں کرتا؛ کسی ٹیم کو تفویض اس کا استثنا ہے (TeamRoutingService لیڈر کو ڈسپیچ کرتا ہے)۔
پائپ لائن: DAG پر مبنی ورک فلو جو قدموں (ایجنٹ ڈسپیچ، اسکرپٹس، شرطیں) کو زنجیر کی طرح جوڑتا ہے۔ ٹیمپلیٹس سے تعریف ہوتا ہے؛ رنز کے طور پر عمل میں آتا ہے۔
ویلیو آبجیکٹس
سیکشن کا عنوان “ویلیو آبجیکٹس”AgentRole: متعین کردار (CEO، coder، reviewer، QA، designer، security، devops، PM، general)۔ شخصیت، میموری تک رسائی اور درجہ بندی طے کرتا ہے۔
AgentSkills: مہارت کے شناخت کنندگان کا ایسا مجموعہ جو چھوٹے بڑے حروف میں فرق نہیں کرتا اور ڈسپیچ کے وقت پرامپٹس میں متعلقہ سیاق داخل کرتا ہے۔
مہارت کا ماخذ: فی ورک اسپیس مہارت کیٹلاگ کے طور پر رجسٹرڈ GitHub ریپوزٹری۔ بنیادی طور پر غیر معتبر: ریپوزٹری کا میٹا ڈیٹا صرف دکھانے کے لیے ہے اور ہر انسٹال، مواد کے ڈسک یا پرامپٹ تک پہنچنے سے پہلے fail-closed اسکین گیٹ سے گزرتا ہے۔ مہارتیں انسٹال اور منظم کریں دیکھیں۔
skills-lock.json: فی ورک اسپیس انسٹال شدہ مہارتوں کا مینی فیسٹ: ہر ایک کے لیے اس کی ماخذ ریپوزٹری، ریپو پاتھ، وہ کمیٹ جس پر یہ پن ہے اور رول اپ شدہ مواد ہیش۔ انسٹال، اپ ڈیٹ اور ان انسٹال اسے تازہ رکھتے ہیں؛ verify_skills اسے ڈسک کے خلاف جانچتا ہے۔
ایجنٹ رن گیٹ وے: cc_server پر ایک loopback اینڈپوائنٹ جو ایجنٹ کے سینڈ باکس کے اندر ایکشن پالیسی نافذ کرتا ہے۔ ایجنٹ کا GitHub پر ہر پش یہاں بھیجا جاتا ہے، ریموٹ پر پش کریں قاعدے سے جانچا جاتا ہے اور ایسے رائٹ ٹوکن کے ساتھ آگے بڑھایا جاتا ہے جو ایجنٹ کے پاس کبھی نہیں ہوتا؛ Claude Code کی Bash کمانڈز اسی اینڈپوائنٹ پر ایک ہک کے ذریعے جانچی جاتی ہیں۔ سینڈ باکس اور سیکیورٹی دیکھیں۔
موڈ: chat، plan، review یا orchestrate۔ فی اسپیس محفوظ ہوتا ہے، چنانچہ ایک ایجنٹ مختلف اسپیسز میں مختلف موڈز میں ہو سکتا ہے؛ کسی اسپیس کی ہر گفتگو یہی شیئر کرتی ہے۔ سسٹم پرامپٹ، سینڈ باکس کے رائٹ رولز اور MCP ٹول allowlist کو گیٹ کرتا ہے۔ کمپوزر صرف chat، plan اور orchestrate پیش کرتا ہے؛ chat پر لیبل “ایجنٹ” ہے۔
SandboxBackend: microvm (ایک بند VM — واحد بیک اینڈ جس میں کرنل کی حد ہو، انٹرایکٹو ٹرمنلز پر لاگو)، native (macOS پر Seatbelt، Linux اور WSL2 پر bubblewrap) یا none۔ بوٹ پر ایک بار پروب ہوتا ہے؛ دستیاب ہونے پر native ایجنٹ ڈسپیچ پر لاگو ہوتا ہے، اور Claude Code CLI اور ہارنس کے bash ٹول کو لپیٹ دیتا ہے۔ Windows میں کوئی نیٹو بیک اینڈ نہیں اور Linux کو bwrap کے علاوہ socat درکار ہے، چنانچہ وہاں رنز بغیر لپیٹ کے چلتے ہیں؛ --sandbox off جان بوجھ کر اس سے باہر نکلتا ہے۔
رگ: ایسی ڈسپوزایبل مشین جسے ایجنٹ حقیقی وقت میں چلاتا ہے — ایک بند براؤزر یا Linux ڈیسک ٹاپ، ہوسٹ کے زیرِ انتظام Android ایمولیٹر یا iOS سمیولیٹر، یا ایک بند ٹرمنل۔ اپنی مکمل ریزولوشن لین پر براہِ راست دیکھا جاتا ہے، اور ٹیک اوور سرور کی جانب سے نافذ ہوتا ہے۔ ایک گفتگو تک محدود، چنانچہ انسانی ٹیب اور ایجنٹ کی browser_use / computer_use / mobile_use / ios_use کالیں ایک ہی ڈیفالٹ مشین سے مخاطب ہوتی ہیں۔ رگز اور انکلوژرز دیکھیں۔
انکلوژر: VM پر مبنی رگز کی مضبوط تر حد — کرنل کی حد، پھینکنے والی اوورلے ڈسک، deny-by-default نیٹ ورک گیٹ اور اسناد کا بروکر۔ Android اور iOS رگز ڈسپوزایبل ہیں مگر ہوسٹ کے زیرِ انتظام نیٹ ورکنگ استعمال کرتے ہیں اور اس حد کا دعویٰ نہیں کرتے۔ کسی بھی رگ کو چلانے میں enclosureControl گارڈریل کلاس استعمال ہوتی ہے۔
RunCost: ایک ایجنٹ رن کے لیے ٹوکن/لاگت کا حساب (اِن پٹ ٹوکنز، آؤٹ پٹ ٹوکنز، سینٹس میں تخمینی لاگت)۔
WakeReason: ایجنٹ کیوں ڈسپیچ ہوا۔ چھ اقدار: صارف کا پیغام، ٹکٹ تفویض، ناکامی کے بعد ریکوری دوبارہ ڈسپیچ، چائلڈ ٹکٹ مکمل، شیڈول شدہ پیروی ہارٹ بیٹ اور پائپ لائن قدم۔
SandboxPort: سینڈ باکس لائف سائیکل کا انتظام کرتا ہے (پروب، لانچ، ایونٹس، exec، ڈسٹرائے)۔
CredentialBrokerPort: سینڈ باکس لانچ کے لیے محدود دائرے والی اسناد جاری کرتا ہے — ایجنٹ کے ماحول میں صرف پڑھنے والی، لکھنے کی رسائی صرف سرور کی جانب پش پاتھ کے لیے — اور ٹیئر ڈاؤن پر انہیں منسوخ کرتا ہے۔
GitRepoInspectorPort: مقامی Git ریپو پاتھ سے میٹا ڈیٹا (مالک، ریپو، برانچ) نکالتا ہے۔
EmbeddingPort: سیمنٹک سرچ کے لیے یونٹ نارم ٹیکسٹ ایمبیڈنگ ویکٹرز بناتا ہے۔
NotificationPort: زمرہ/روٹ گیٹنگ کا لحاظ رکھتے ہوئے نیٹو ڈیسک ٹاپ اطلاعات دکھاتا ہے۔
TicketProviderPort: ٹکٹنگ بیک اینڈ سے وینڈر سے غیر جانبدار حد (بنائیں، حاصل کریں، فہرست، اپ ڈیٹ، منتقلی، تفویض)۔
PipelineEnginePort: ٹیمپلیٹ سے پائپ لائن رن شروع کرتا ہے اور کال کرنے والوں کو ٹھوس انجن سے الگ کرتا ہے۔
ڈومین سروسز
سیکشن کا عنوان “ڈومین سروسز”AgentDispatchService: ایجنٹ رنز چلاتا ہے: آئسولیٹڈ ریپوز پروویژن کرتا ہے، پرامپٹس بناتا ہے، رن لاگز بک کرتا ہے، براہِ راست ایونٹ اسٹریمز واپس کرتا ہے۔
TicketWorkflowService: خالص ڈومین ٹکٹ لائف سائیکل انجن، جس میں آپٹمسٹک کنکرنسی کی تبدیلی کا چوک پوائنٹ اور ورک اسپیس تنہائی کی تنفیذ ہے۔ اس کا نافذ کردہ ٹرانزیشن گراف صرف ایجنٹس اور آٹومیشن کو باندھتا ہے؛ صارف کی چلائی ہوئی UI تبدیلیاں force: true پاس کرتی ہیں اور اسے بائی پاس کر دیتی ہیں۔ کسی ایجنٹ اسائن کا کوئی ٹکٹ ڈسپیچر نہیں — ڈسپیچ AgentDispatchService کے پاس ہے، اور کسی ٹکٹ کو ایجنٹ کو تفویض کرنے سے کوئی رن شروع نہیں ہوتا۔ ٹکٹ کو ٹیم کو تفویض کرنا استثنا ہے (TeamRoutingService لیڈر کو ڈسپیچ کرتا ہے)۔
PipelineEngine: رن ایگزیکیوشن کی آرکیسٹریشن کرتا ہے: رنز شروع کرتا ہے، قدم شیڈول کرتا ہے، حالت محفوظ کرتا ہے، routers/joins/continue-on-fail سنبھالتا ہے، ری اسٹارٹ کے بعد جاری رنز دوبارہ شروع کرتا ہے۔
PipelineTriggerDispatcher: ڈومین ایونٹس کو سبسکرائب کرتا ہے اور فعال ٹریگرز کے لیے منطبق پائپ لائن رنز خودکار شروع کرتا ہے۔
MemoryAccessPolicy: ڈومینز پر ایجنٹ کردار کی میموری اجازتیں طے کرتا اور نافذ کرتا ہے۔
HarnessCostCalculator: models.dev کیٹلاگ سے بلٹ اِن ہارنس کے ٹوکن استعمال کی قیمت لگا کر RunCost بناتا ہے۔ ڈسپیچ یہ حساب رن لاگ پر محفوظ کرتا ہے۔
BudgetEnforcementService: فی ایجنٹ ماہانہ خرچ اور ڈسپیچ سے پہلے کا بلاک (checkInvocationBlock) شمار کرتا ہے۔ وہ بلاک صرف ریکوری ری کنسائلرز (OrphanRunReaper، StrandedTicketReconciler) دیکھتے ہیں، عام صارف یا ایجنٹ ڈسپیچ اسے کبھی نہیں دیکھتا۔
BudgetGovernanceService: ہر رن کے بعد فی ایجنٹ ماہانہ خرچ جانچتا ہے — ایک نرم حد وارننگ واقعہ درج کرتی ہے؛ حد ختم ہو جانے پر سخت واقعہ درج ہوتا ہے اور ایجنٹ کا لائف سائیکل paused پر پلٹ جاتا ہے۔
ایونٹس
سیکشن کا عنوان “ایونٹس”DomainEventBus: فیچرز کے درمیان مواصلات کے لیے پراسیس کے اندر براڈکاسٹ پبلش/سبسکرائب بس۔ ایونٹس ٹائپڈ ہوتے ہیں؛ سبسکرائبرز on<T>() اسٹریمز استعمال کرتے ہیں۔
DomainEvent: بنیادی انٹرفیس۔ ہر ایونٹ میں occurredAt ہوتا ہے۔ اہم زمرے: ورک اسپیس/ایجنٹ، PR/ریویو، میسجنگ، ٹکٹنگ، پائپ لائن، میٹنگز/کیلنڈر، شناخت، رگز، آبزرویبلٹی۔
میٹنگز اور کیلنڈر
سیکشن کا عنوان “میٹنگز اور کیلنڈر”میٹنگ: مقامی طور پر ریکارڈ شدہ اور ٹرانسکرائب شدہ میٹنگ سیشن۔ مائیکروفون اور سسٹم آڈیو پکڑتا ہے، ڈیوائس پر منتخب ASR ماڈل سے ٹرانسکرائب کرتا ہے (بطور ڈیفالٹ Parakeet TDT v3؛ Parakeet TDT v2، Whisper large-v3-turbo اور Whisper base.en متبادل ہیں)، مقررین کی ڈائرائزیشن کرتا ہے اور نوٹس، ایکشن آئٹمز اور فیصلوں میں خلاصہ کرتا ہے۔ منتخب ASR ماڈل بوٹ پر زبردستی انسٹال ہوتا ہے اور ایک ری اسٹارٹ کے بعد ریکارڈنگ آپریشنز روشن ہو جاتے ہیں۔ ورک اسپیس تک محدود؛ مشین ہی پر رہتا ہے۔
MeetingSegment: آڈیو کی ایک ٹرانسکرائب شدہ ونڈو، مقرر ٹیگ کے ساتھ (me/them) اور ایک ڈائرائزیشن لیبل نیز ملی سیکنڈ آفسیٹس۔
MeetingActionItem / MeetingDecision: خلاصہ پائپ لائن کے نکالے ہوئے ساختی نتائج، جو الگ الگ قطاروں کے طور پر محفوظ ہوتے ہیں۔ ایکشن آئٹمز کسی ٹکٹ سے لنک ہو سکتے ہیں۔
CalendarEvent: ورک اسپیس اور منسلک اکاؤنٹ تک محدود سنک شدہ Google Calendar اندراج۔ میٹنگ سے مختلف: ایونٹ ایک طے شدہ وعدہ ہے؛ میٹنگ ایک ریکارڈ شدہ سیشن۔ MeetingCalendarLink کے ذریعے ایک سے ایک لنک ہوتا ہے۔
CalendarAccount: ایک منسلک Google اکاؤنٹ، فی ورک اسپیس اور ای میل۔ OAuth ریفریش ٹوکنز سرور کی جانب <dataDir>/secrets.json میں google_* کیز کے طور پر محفوظ ہوتے ہیں اور کسی کلائنٹ تک کبھی نہیں پہنچتے؛ ڈیوائس کوڈ فلو سرور پر مکمل ہوتا ہے۔ ایک authExpiredAt فلیگ دوبارہ منسلک کرنے کا بینر چلاتا ہے۔
آرکیٹیکچر کی اصطلاحات
سیکشن کا عنوان “آرکیٹیکچر کی اصطلاحات”کلین آرکیٹیکچر: انحصار کا قاعدہ: Presentation → Application/Providers → Domain ← Infrastructure۔ ڈومین میں انفراسٹرکچر کی صفر امپورٹس ہیں۔
پورٹس اور اڈاپٹرز: ڈومین خلاصہ انٹرفیس (پورٹس) متعین کرتا ہے؛ انفراسٹرکچر ٹھوس عمل درآمد (اڈاپٹرز) فراہم کرتا ہے۔ کمپوزیشن روٹ انہیں باندھتا ہے۔
شیئرڈ کرنل: core/domain/ کے اینٹٹیز، ویلیو آبجیکٹس، پورٹس اور سروسز جو 3+ فیچرز میں مشترک ہیں۔
فیچر فرسٹ: کوڈ تکنیکی تہہ کے بجائے کاروباری ڈومین (ایجنٹس، پائپ لائنز، میسجنگ) کے حساب سے منظم ہوتا ہے۔
ملٹی پلیئر، شناخت اور رفتار
سیکشن کا عنوان “ملٹی پلیئر، شناخت اور رفتار”Principal: ایک سیل شدہ ویلیو جو انسانوں اور ایجنٹوں کو اداکار کے واحد خلاصے میں یکجا کرتی ہے — UserPrincipal(userId) یا AgentPrincipal(agentId)۔ ہر پیغام، ٹکٹ، ریویو، پلان اور رن لاگ کا انتساب کسی Principal کے ذریعے ہوتا ہے۔
User: ایک انسانی شناخت، جو global.db میں محفوظ ہوتی ہے اور اس لیے تمام ورک اسپیسز میں عالمگیر ہے۔ جو پرنسپل ورک اسپیس بناتا ہے وہی اس کا مالک بنتا ہے — اسی عمل میں Workspace.ownerUserId پر مالک کردار کی ممبرشپ قطار کے ساتھ ثبت ہوتا ہے۔ باقی افراد دعوت یا SSO سے شامل ہوتے ہیں۔
WorkspaceMember / WorkspaceRole: ایک ممبرشپ قطار جو کسی User کو کسی کردار پر ایک Workspace سے باندھتی ہے (owner / admin / member / viewer / guest)۔ رسائی کی حد ممبرشپ ہے — پیئرنگ کی نہیں۔ فی ریپو گرانٹس ممبرشپ کو forge سے زیادہ مراعات دلوانے سے روکتی ہیں۔
ParticipantPresence: کسی Principal کے لیے عارضی آگاہی (اسٹیٹس، مقام، کرسر، ٹائپنگ، ایجنٹ کی لائیو حالت اور رننگ لاگت)۔ کبھی محفوظ نہیں ہوتی؛ سرور کے مرکز سے چلتی ہے؛ فین آؤٹ سے پہلے ریپو گرانٹ کے مطابق فلٹر ہوتی ہے۔
فالو موڈ: کسی اوتار پر کلک کریں تو جب تک آپ خود کچھ نہ کریں آپ اس کے ویوپورٹ کے ساتھ چلتے ہیں، پھر الگ ہو جاتے ہیں۔ انسانوں اور ایجنٹوں دونوں پر چلتا ہے (“ایجنٹ کو کام کرتے دیکھیں”)۔
خود مختاری ڈائل: فی اسپیس فی ایجنٹ کنٹرول — propose-only / act-with-approval / act-freely — جو ایکشن گارڈریل اسٹور پر ایک نامزد پروفائل کے طور پر عمل میں آتا ہے۔
ActionClass: اثر کی 13 کلاسوں کا بند مجموعہ (fileDelete، gitPush، prCreate، networkEgress، processSpawn، enclosureControl، …)۔ ہر تبدیل کرنے والا ٹول اپنی کلاسیں بیان کرتا ہے؛ گارڈریل انجن فی دائرہ allow / prompt / deny طے کرتا ہے (اسپیس > ایجنٹ > ورک اسپیس > موڈ پری سیٹ > بلٹ اِن ڈیفالٹ)۔
WriteLedger / idempotency key: ہر تبدیلی اپنے ساتھ کلائنٹ کی بنائی ہوئی idempotency key رکھتی ہے (UUIDv7، فی منطقی عمل)۔ ورک اسپیس تک محدود لیجر ہینڈلر چلنے سے پہلے ڈی ڈپ کرتا ہے؛ دوبارہ چلانے پر اصل نتیجہ بائٹ بہ بائٹ واپس آتا ہے۔ یہ دوبارہ جڑنے اور ایک سے زیادہ کلائنٹ کو بنیادی طور پر محفوظ بناتا ہے۔
«Needs me» ان باکس: تمام ستونوں میں پھیلی ایک قطار، جس کا ایک سخت قاعدہ ہے — کوئی آئٹم صرف اُس وقت ظاہر ہوتا ہے جب وہ کسی چیز کو روکے (ایجنٹ، مرج، سنک) یا واضح طور پر آپریٹر کو طلب کرے۔
Plan Studio: انٹرایکٹو پلاننگ سطح — قابلِ ترمیم ٹائپڈ DAG پلانز، ہر قدم کی لاگت، وقت اور خطرے کے ساتھ، اور جزوی منظوری۔
ریویو کمپیوٹ: سرور کی جانب PR ریویو کمپیوٹ (گراف سے اخذ کوہارٹس، ٹائپڈ ڈایاگرامز، بصری ڈفز، API کنٹریکٹ ڈفز، کثیر المحور گیٹس) جو review_studio.* پر پیش ہوتا ہے اور ریویو ٹیب میں ضم ہو جاتا ہے۔
ریویو اسپیس: کسی PR کی واحد پشت پناہ اسپیس (موڈ review، قسم pr)، جو idempotently بنائی جاتی ہے اور ReviewSpaceAssociation کے ذریعے PR سے لنک ہوتی ہے۔ ہر ریویوور اپنے نتائج اسی میں درج کرتا ہے، اور اسی سے وہ موازنے کے قابل ہوتے ہیں؛ اس کے آئسولیٹڈ ورک ٹری میں PR اس کے head پر چیک آؤٹ ہوتا ہے۔
ریویو نوڈ: AI ریویو کے کسی نتیجے کی ساختی اکائی: قسم (bug، suggestion، recommendation، question، ticket)، ترجیح P0–P3، زمرہ/شدت/محنت کی ٹرائیج سہ رخی، فائل اور لائن کا اینکر، اختیاری تجویز کردہ فکس اور اعتماد کا اسکور۔ add_review_node کے ساتھ درج ہوتا ہے؛ فیصلہ نوڈز سے شمار ہوتا ہے، نثر سے نہیں۔
Consensus-ready: ریویو نوڈ کا وہ اسٹیٹس جو صرف اُس وقت پہنچتا ہے جب کوئی ساتھی ریویوور کسی نتیجے کی تصدیق کرے — ایجنٹ اپنا نتیجہ خود تصدیق نہیں کر سکتا۔ ریویو ٹیب کا GitHub پر شائع کریں بٹن باقی تمام کھلے نتائج بھیجتا ہے (selection: all_open)؛ MCP ٹول publish_review_to_github اب بھی بطور ڈیفالٹ صرف ساتھی سے تصدیق شدہ نتائج بھیجتا ہے۔
ریویو لیول: ورک اسپیس پالیسی (light، balanced، thorough) جو طے کرتی ہے کون سے ریویوورز پھیلیں گے (صرف engineer؛ +qa+architect؛ +security+perf) اور حد سے کم نتائج کہاں ظاہر ہوں گے۔ کسی نتیجے کو کبھی حذف نہیں کرتی۔
ریویو محور: فی ریویو پانچ اسکورنگ لینوں میں سے ایک: correctness، security اور testGap ریویوور کے نتائج سے ماخوذ؛ visual اور apiContract ڈیٹرمنسٹک۔ گیٹڈ محور فیصلے میں ضم ہوتے ہیں اور صرف اسے مزید سخت ہی کر سکتے ہیں — partial یا unavailable گیٹ فیصلے کو پاس کرنے کے بجائے روکے رکھتا ہے۔
ریویو فیصلہ: ship، hold یا block۔ کوئی بھی P0 نتیجہ جس کا اعتماد ≥ 0.7 ہو، بلاک کرتا ہے؛ کوئی اور P0 یا کوئی بھی P1 روکتا ہے؛ ورنہ ship۔ کوئی گیٹڈ ناکام محور بلاک کو لازم کر دیتا ہے اور نتائج اسے ووٹوں سے ہرا نہیں سکتے۔
فلیٹ اور ایوالز
سیکشن کا عنوان “فلیٹ اور ایوالز”cc_worker: ایک ہیڈلیس، خالص Dart فلیٹ ایگزیکیوٹر بائنری۔ کسی cc_server کے ساتھ پیئر ہوتی ہے، اپنے ہوسٹ کی صلاحیتیں بیان کرتی ہے، لیز پر لیے جابز کھینچتی ہے، انہیں چلاتی ہے اور پراسیس ایونٹس واپس اسٹریم کرتی ہے۔ کوئی پائیدار حالت نہیں رکھتی — ایک مستند سرور، N سادہ بازو۔
JobSpec: ہر قابلِ عمل چیز کی ٹائپڈ اسپیک (ایجنٹ رن، پائپ لائن قدم، کوڈ انڈیکس، گولڈن رینڈر، بینچ مارک، ایوال بیچ)۔
ایوال سوٹ: ورک اسپیس تک محدود ایویلیوایشن تعریف (پرامپٹ، ہدف ایجنٹ اور موڈ، گریڈرز)۔ ورک اسپیس بننے پر پانچ اسٹارٹرز بیج کیے جاتے ہیں؛ آبزرویبلٹی → معیار انہیں فہرست کرتا ہے۔
ڈیپلائمنٹ اور کلائنٹس
سیکشن کا عنوان “ڈیپلائمنٹ اور کلائنٹس”تھن کلائنٹ آرکیٹیکچر: کوئی کلائنٹ ڈیٹا بیس نہیں کھولتا؛ ایک ہیڈلیس cc_server پراسیس ڈیٹا کا مالک ہے اور اسے WebSocket RPC پر پیش کرتا ہے۔ ہر کلائنٹ (ڈیسک ٹاپ، ویب، فون) اسی ایک RPC کنکشن کے اوپر ایک رینڈرر ہے۔
cc_server: ہیڈلیس سرور بائنری (خالص Dart، بغیر Flutter انجن)۔ Drift/SQLite ڈیٹا بیس کی مالک، WebSocket پر repo-RPC پیش کرتی ہے اور پس منظر کی سروسز (پائپ لائنز، MCP، ری کنسائلرز) چلاتی ہے۔
ServerConnectionMode: ڈیسک ٹاپ اپنے سرور تک کیسے پہنچتا ہے — local (اسی مشین پر cc_server اسپان کریں، ڈیفالٹ) یا remote (کہیں اور سے ڈائل کریں)۔ ویب کلائنٹ ہمیشہ remote ہوتا ہے۔
RemoteRpcClient: ٹرانسپورٹ سے آزاد JSON-RPC کلائنٹ جو ہر تھن کلائنٹ اپنے سرور سے بات کرنے کے لیے استعمال کرتا ہے — WSS، لوپ بیک یا بروکرڈ ریلے کے ذریعے۔
فی کال ورک اسپیس اسکوپنگ: سرور اسٹیٹ لیس ہے — فی سیشن ورک اسپیس بائنڈنگ موجود ہی نہیں، چنانچہ ایک سرور پر کئی کلائنٹ کبھی کوئی “موجودہ ورک اسپیس” شیئر نہیں کرتے۔ ہر ورک اسپیس تک محدود repo/call اور sub/subscribe کو اپنے args میں workspace_id رکھنا لازمی ہے؛ کوئی غائب یا غیر رجسٹرڈ id کوئی بھی ڈیٹا بیس کھلنے سے پہلے مسترد کر دی جاتی ہے۔ پھر رسائی سیشن سے نہیں بلکہ ورک اسپیس ممبرشپ اور کردار سے گیٹ ہوتی ہے۔
cc_remote: فون کا تھن کلائنٹ — ایک Flutter ویب PWA جو بروکرڈ ریلے کے ذریعے فلیٹ کو ریموٹ کنٹرول کرتا ہے، ڈیفالٹ ڈینی ٹول پالیسی کے ساتھ۔
cc_signaling_server: ایک اسٹیٹ لیس WebSocket ریلے بروکر جو دعوت گیٹڈ کمرے میزبانی کرتا ہے — ایک سادہ ریلے جو صرف اینڈ ٹو اینڈ سیل شدہ فریمز آگے بھیجتا ہے، کوئی ایپ ڈیٹا نہیں رکھتا اور پیئرنگ PSK کبھی نہیں دیکھتا۔