منصوبے کے بارے میں

Factory ایک خودکار ٹکٹ پائپ لائن ہے جو GitHub issue سے merged PR تک کے سفر کو خودکار بناتی ہے۔ `ready-for-agent` لیبل والے مسائل ایک کوڈنگ ایجنٹ کے ذریعے قبول کیے جاتے ہیں جو ایک الگ تھلگ git worktree میں کام کرتا ہے، آپ کے اپنے deterministic چیکس (test/lint کمانڈز) کے ذریعے گیٹ کیا جاتا ہے، دوسرے LLM کے ذریعے ریویو کیا جاتا ہے، PR کے طور پر کھولا جاتا ہے، اور `main` میں تبھی merge ہوتا ہے جب گیٹ، ریویور، GitHub CI، اور `main` کے خلاف تازگی سب متفق ہوں۔ جو کچھ پائپ لائن حل نہیں کر سکتی وہ `ready-for-human` لیبل اور منسلک شواہد کے ساتھ واپس کر دیا جاتا ہے۔ یہ آپ کی مشین پر systemd timer (ہر 10 منٹ پر default) کے ذریعے locally چلتا ہے، ان ایجنٹ CLIs کا استعمال کرتے ہوئے جو آپ کے پاس پہلے سے ہیں — `omp`، `droid`، `codex exec`، `claude -p`، وغیرہ۔ State GitHub (لیبلز، کمنٹس، PRs) اور ایک gitignore شدہ `.factory/` ڈائریکٹری میں رہتا ہے؛ dispatcher stateless ہے اور دوبارہ چلانا محفوظ ہے۔ اہم کمانڈز اور صلاحیتیں: - **Triage**: ایک local model (Ollama، vLLM، llama.cpp، LM Studio) `needs-triage` مسائل کو `ready-for-agent`، `needs-info`، `ready-for-human` کے طور پر لیبل کرتا ہے، یا `wontfix` تجویز کرتا ہے۔ - **Dispatch**: ایک stateless پاس جو upstream کو sync کرتا ہے، merge stage چلاتا ہے، ٹکٹس claim کرتا ہے، workers کو بلاتا ہے، گیٹس چلاتا ہے، PRs کھولتا ہے، اور review bounces کو configured round limit تک سنبھالتا ہے۔ - **Manage**: ایک manager agent ریویو کی ضرورت والے PRs کے لیے راہنمائی تجویز کرتا ہے، escalation packets حل کرتا ہے، اور RETRY، REWRITE، SPLIT، ROUTE، FIX کر سکتا ہے یا HUMAN کے حوالے کر سکتا ہے۔ Split children دوبارہ triage میں داخل ہوتے ہیں؛ rewrites کو قبول شدہ initiative baselines محفوظ رکھنی چاہئیں۔ - **Gate**: worktree میں آپ کے deterministic چیکس چلاتا ہے اور ایک Markdown رپورٹ تیار کرتا ہے۔ - **Learn**: حالیہ مکمل شدہ ٹکٹس کے event trails اور reviewer findings پڑھتا ہے، local model سے repo-specific سبق پوچھتا ہے، اور ایک `.factory-lessons.md` فائل لکھتا ہے جو ہر worker prompt میں شامل کی جاتی ہے۔ - **Dashboard**: ایک local ops UI جو ٹکٹ مراحل، in-flight phases، gate reports، worker logs، journal heartbeat، upstream drift، ایک read-only Factory Manager Chat، اور shared initiatives کے لیے Roadmap view دکھاتا ہے۔ - **Plan**: Read-only کمانڈز جو initiative issues کی فہرست اور معائنہ، routing decision ownership، immutable initiative baselines تجویز کرنے، اور ٹکٹ کی قبول شدہ baseline اور live initiative source کے درمیان drift کی نشاندہی کے لیے ہیں۔ Factory immutable initiative bindings کو سپورٹ کرتا ہے: ایک implementation ticket `Initiative: #N` کا اعلان fenced JSON baseline (SHA-256 hashed، schema version 1) کے ساتھ کر سکتا ہے۔ ایک بار قبول ہونے کے بعد، مکمل ٹکٹ snapshot human-approved execution contract بن جاتا ہے؛ retries اسے دوبارہ استعمال کرتے ہیں اور بعد کی ترامیم اپنائے نہیں سکتے۔ Drift detection قبول شدہ baseline کا موازنہ live initiative سے کرتا ہے، تبدیل شدہ حصوں کی اطلاع دیتا ہے بغیر attribution کا اندازہ لگائے۔ Installation `uv tool install` (یا pipx/pip) کے ذریعے GitHub repository سے ہوتا ہے، releases کے لیے `@stable` channel کے ساتھ۔ Setup میں `factory init` (`.factory.toml`، issue templates، labels بناتا ہے)، gate checks میں ترمیم، `factory doctor` (tools، auth، remotes، model endpoint، dashboard port کی تصدیق کرتا ہے)، اور `factory install --dashboard` (systemd user units لکھتا ہے) شامل ہیں۔ اس ٹول کے لیے Python ≥ 3.11، `git`، اور push access کے ساتھ authenticated `gh` ضروری ہے۔ Upstream کو track کرنے والے forks کے لیے، dispatcher ہر merge stage سے پہلے نئے upstream commits کو `main` میں (gated) merge کرتا ہے۔ Worker اور manager کمانڈز کو prompt-file paths اور working directories موصول ہوتے ہیں؛ reviewers کو inline prompts موصول ہوتے ہیں۔ Manager CLI کو read-only/no-tools mode میں configure کیا جانا چاہیے۔