প্রকল্প সম্পর্কে

Factory হলো একটি স্বায়ত্তশাসিত টিকিট পাইপলাইন যা GitHub issue থেকে merged PR পর্যন্ত যাত্রা স্বয়ংক্রিয় করে। `ready-for-agent` লেবেলযুক্ত ইস্যুগুলো একটি বিচ্ছিন্ন git worktree-তে কাজ করা একটি কোডিং এজেন্ট দ্বারা দাবি করা হয়, আপনার নিজস্ব নির্ধারক চেক (test/lint কমান্ড) দ্বারা গেট করা হয়, একটি দ্বিতীয় LLM দ্বারা রিভিউ করা হয়, একটি PR হিসেবে খোলা হয়, এবং শুধুমাত্র তখনই `main`-এ মার্জ করা হয় যখন gate, reviewer, GitHub CI, এবং `main`-এর বিপরীতে freshness সবই একমত হয়। পাইপলাইন যা সমাধান করতে পারে না তা `ready-for-human` লেবেল এবং সংযুক্ত প্রমাণসহ ফেরত দেওয়া হয়। এটি আপনার মেশিনে স্থানীয়ভাবে একটি systemd timer-এর মাধ্যমে (ডিফল্টভাবে প্রতি 10 মিনিটে) আপনার কাছে ইতিমধ্যে থাকা agent CLI ব্যবহার করে চলে — `omp`, `droid`, `codex exec`, `claude -p`, এবং অনুরূপ। State GitHub-এ (labels, comments, PRs) এবং একটি gitignored `.factory/` ডিরেক্টরিতে থাকে; dispatcher stateless এবং পুনরায় চালানো নিরাপদ। মূল কমান্ড এবং সক্ষমতা: - **Triage**: একটি স্থানীয় মডেল (Ollama, vLLM, llama.cpp, LM Studio) `needs-triage` ইস্যুগুলোকে `ready-for-agent`, `needs-info`, `ready-for-human` হিসেবে লেবেল করে, অথবা `wontfix` প্রস্তাব করে। - **Dispatch**: একটি stateless pass যা upstream sync করে, merge stage চালায়, টিকিট দাবি করে, worker invoke করে, gate চালায়, PR খোলে, এবং কনফিগার করা round limit পর্যন্ত review bounce পরিচালনা করে। - **Manage**: একটি manager agent review প্রয়োজন এমন PR-এর জন্য দিকনির্দেশ সুপারিশ করে, escalation packet সমাধান করে, এবং RETRY, REWRITE, SPLIT, ROUTE, FIX, বা HUMAN-এর কাছে hand off করতে পারে। Split children পুনরায় triage-এ প্রবেশ করে; rewrite অবশ্যই গৃহীত initiative baseline সংরক্ষণ করবে। - **Gate**: worktree-তে আপনার নির্ধারক চেক চালায় এবং একটি Markdown রিপোর্ট তৈরি করে। - **Learn**: সাম্প্রতিক সমাপ্ত টিকিটের event trail এবং reviewer findings পড়ে, স্থানীয় মডেলের কাছে repo-নির্দিষ্ট শিক্ষা চায়, এবং একটি `.factory-lessons.md` ফাইল লেখে যা প্রতিটি worker prompt-এ বহন করা হয়। - **Dashboard**: একটি স্থানীয় ops UI যা ticket stages, in-flight phases, gate reports, worker logs, journal heartbeat, upstream drift, একটি read-only Factory Manager Chat, এবং shared initiatives-এর জন্য একটি Roadmap view দেখায়। - **Plan**: initiative issue তালিকা এবং পরিদর্শন, decision ownership রাউটিং, immutable initiative baseline প্রস্তাব, এবং একটি টিকিটের গৃহীত baseline এবং live initiative source-এর মধ্যে drift সনাক্ত করার জন্য read-only কমান্ড। Factory immutable initiative binding সমর্থন করে: একটি implementation ticket একটি fenced JSON baseline (SHA-256 hashed, schema version 1) সহ `Initiative: #N` ঘোষণা করতে পারে। একবার admitted হলে, সম্পূর্ণ ticket snapshot মানব-অনুমোদিত execution contract হয়ে যায়; retry এটি পুনরায় ব্যবহার করে এবং পরবর্তী revision গ্রহণ করতে পারে না। Drift detection গৃহীত baseline-কে live initiative-এর সাথে তুলনা করে, attribution অনুমান না করে পরিবর্তিত section রিপোর্ট করে। ইনস্টলেশন GitHub repository থেকে `uv tool install` (অথবা pipx/pip) এর মাধ্যমে, release-এর জন্য একটি `@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 ট্র্যাক করা fork-এর জন্য, dispatcher প্রতিটি merge stage-এর আগে নতুন upstream commit `main`-এ (gated) মার্জ করে। Worker এবং manager কমান্ড prompt-file path এবং working directory পায়; reviewer inline prompt পায়। Manager CLI read-only/no-tools mode-এ কনফিগার করা উচিত।