
Kiki
إشارات العمل وتنفيذ الوكلاء
حتى يصبح الاقتراح تنفيذًا لدى المكلَّف به.
إضافة Paperclip وأداة جمع من Slack تساعدان فريقًا على تشغيل وكلاء الذكاء الاصطناعي لديه.
Kiki vocabulary
- assignment
- wake
- guardrail
- stage reaper
- zombie sweeper
- circuit breaker
- escalation
- observe
- signals
- profile
- directive
- proposal
- approval
Assignment: assigneeAgentId · PATCH /api/issues/:id · queueIssueAssignmentWakeup · issue.updated · CTO TRIAGE · AUTO-PROMOTE TO TODO · AUTO-REBALANCE · in_progress · REASSIGN WITHOUT WAKE · repatchAssignment · kiki-retry-issue · status: todoWake: queueIssueAssignmentWakeup · REASSIGN WITHOUT WAKE · ctx.agents.invoke · POST /api/agents/:id/wakeup · invokeOnce · INVOKE DEDUP · windowMs · HANDOFF-ACK · AT-LEAST-ONCE · HANDOFF_ACK_MAX_RETRIES · ORPHAN WAKE · lastRunAt · maxConsecutiveWakes · WAKE-STORM GUARD · heartbeat_runsGuardrail: issue.updated · in_progress · ORPHAN WAKE · SPEC COMPLETE · PO SPEC GATE · PO DELEGATION GATE · REVIEW SCORECARD · 30/30 · REWORK · PO ACCEPTANCE SCORECARD · findScorecardInComments · ANTI-DECEPTION RATCHET · WORKFLOW GUARDRAILStage Reaper: PATCH /api/issues/:id · lastRunAt · stage-reaper · repatchAssignment · heartbeatSeconds · maxConsecutiveWakes · COOLDOWN · lastSignalTime · stageEntryTime · LEVEL-TRIGGERED · WAKE-STORM GUARD · pipeline-reaper · stage-without-PATCH · kiki-retry-issue · LEAD REROUTEZombie Sweeper: zombie-sweeper · ZOMBIE_RUNNING_MAX_MIN · ZOMBIE_QUEUED_MAX_MIN · execution_run_id · RUN OWNERSHIP CONFLICT · heartbeat_runs · claude_local · execution_locked_at · SELF-HEALCircuit Breaker: CLOSED · HALF_OPEN · auth_fail · rate_limit · RETRY STORM · CB_FAILURE_THRESHOLD · KEY ROTATOR · HTTP 429 · process_lost · agent.run.failedEscalation: process_lost · agent.run.failed · ESCALATION COMMENT · LEAD REROUTE · QA FALLBACK · agent.status_changed · failed-run-escalator · PIPELINE NOTIFIER · pipeline-health-snapshot · SILENT STALLObserve: observe_channel · slack_read_channels · slack_read_thread · slack_read_reactions · slack_user_activity · .last_observed.json · DELTA TRACKING · oldest · SOCKET MODE · kiki-observe · NO RAW TEXTSignals: NO RAW TEXT · UserSignal · message_count · avg_response_time_minutes · active_hours · thread_participation_rate · topic_keywords · evidence_count · LLMExtractedSignal · FeedbackSignalProfile: FeedbackSignal · UserProfile · CommunicationStyle · DecisionPattern · WorkRhythm · focusBlocks · confidence · ContextMode · DELEGATION CHAINS · refresh-profilesDirective: AgentDirective · profileToDirectives · reportFormat · taskConstraints · directiveToSkillMarkdown · agent.created · PATCH /api/skills/{skillId} · grounding_policy · systemPrompt · NO USER PIIMaintenance Proposal: MaintenanceProposal · [MAINT] · daily-maintenance · run-maintenance · kiki-maintain · MAX 10 PROPOSALS · [SCHEMA APPROVAL REQUIRED] · P1/P2/P3 · DO NOT FABRICATE · BOUND TARGETHuman Approval: SOCKET MODE · [SCHEMA APPROVAL REQUIRED] · maint_approve · maint_deny · BLOCK KIT · reaction_added · white_check_mark · ProposalMapping · block_actions · approved · cancelled · status: todo
بين الإسناد والتنفيذ الفعلي، مسار للملاحظة والاستعادة.
تصبح إشارات العمل ملفات تعريف وتوجيهات للوكلاء، وتُفصل الموافقة على اقتراح الصيانة عن إسناد تنفيذه. وحين يتوقف نشاط issue مُسندة، يُطلب مجددًا مع الـ issue والمكلَّف، ويؤول عدم الاستجابة المتكرر إلى حد وcooldown وحكم شخص.
تحوّلان إشارات العمل إلى توجيهات للوكلاء، وتربطان اقتراحات الصيانة والموافقة البشرية والإسناد واستعادة عمليات التشغيل المتعثرة بوصفها خطوات منفصلة. خطّطتُ هذا المسار وطوّرته.
أول سجل في المستودع April 3, 2026 · المشاركة في pinxlab حتى May 26, 2026
تعمل إضافةً داخل Paperclip الخاص بالفريق، ويتولى خادم MCP الجمع من Slack.
الإشارات → التوجيهات
تُبنى ملفات التعريف وتوجيهات الوكلاء من سجل Slack. والتوجيهات سياق للوكيل ولا تُرسم سببًا لأي اقتراح.
إشارات Slackبيانات: سجل القنواتاستخلاص الأنماط · بلا bots
جمع الإشاراتيُجمع سجل القنوات المتاحة وتُستبعد رسائل الـ bots والانضمام والمغادرة. ولا تُعرض الرسائل الأصلية في هذه الصفحة.
استخلاص الأنماط · بلا bots
جمع الإشاراتبيانات: دمج ملف التعريفدمج ملف تعريف الشركةحالة الشركةتصبح الأنماط المستخلصة profile patch يُدمج في ملف تعريف الشركة. وهي أنماط استدلالية، لا درجات لأداء الموظفين.
دمج ملف تعريف الشركة
حالة الشركةبيانات: إعادة التوليدتوجيهات لكل وكيلحالة الوكيلتُعاد توليد التوجيهات لكل وكيل من ملف التعريف المدمج وتُخزَّن.
توجيهات لكل وكيل
حالة الوكيلتشغيل · حكم: إدخال التوجيهاتالوكيل المكلَّفتدخل التوجيهات سياق الوكيل عند إنشائه. ولا يعني هذا أن اقتراحًا بعينه جاء من إشارة Slack بعينها.
الاقتراح → الموافقة → الإسناد
يوجد الاقتراح أولًا issue في backlog بلا مكلَّف، ويطلب تفاعل شخص تغيير الحالة، والإسناد والتنفيذ من شأن النظام الخارجي.
المشروع المستهدفبيانات: نطاق الهدفاستدعاء PO · موجّه محدد النطاق
تحليل الصيانةتستدعي مهمة الصيانة وكيل PO بموجّه محصور في المشروع المستهدف. ولا يُعرض محتوى المصدر.
استدعاء PO · موجّه محدد النطاق
تحليل الصيانةبيانات: issue الاقتراحالاقتراح · backlogمتتبّع الـ issuesيطلب الموجّه اقتراحات بمسارات مُتحقَّق منها فقط، بوصفها issues في backlog بلا مكلَّف، ويمنع تشغيل DB migrations. وهو تعليمة لوكيل المنتج، لا آلية فرض حتمية.
الاقتراح · backlog
متتبّع الـ issuesبيانات: نشر الاقتراحربط الرسالة ↔ الـ issueنشر الاقتراحيُنشر كل اقتراح في Slack ويُخزَّن ربط الرسالة بالـ issue. ولا تُنشر الاقتراحات المنشورة مرة أخرى، ويحتفظ الربط المخزَّن بآخر 50.
ربط الرسالة ↔ الـ issue
نشر الاقتراحبيانات: رسالة Slackشخص · موافقة، رفضيرى شخص الاقتراح المنشور في Slack.
شخص · موافقة، رفضتشغيل · حكم: تفاعلربط الرسالة ↔ الـ issue
نشر الاقتراحيجد التفاعل على الرسالة الـ issue عبر الربط. ولا توجد موافقة تلقائية.
ربط الرسالة ↔ الـ issue
نشر الاقتراحتشغيل · حكم: موافقة → todoissue التشغيل · todoمتتبّع الـ issuesعند الموافقة، يُرسل طلب لنقل issue الاقتراح المعلّقة إلى todo، ويُحدَّث الربط وإشعار السلسلة. ويضع هذا الـ handler علامة approved على الربط دون فحص رمز الاستجابة، فليس معاملة fail-closed.
ربط الرسالة ↔ الـ issue
نشر الاقتراحتشغيل · حكم: رفض → cancelledالاقتراح · backlogمتتبّع الـ issuesعند الرفض، يُرسل طلب لنقل الـ issue نفسها إلى cancelled. والـ issue موجودة قبل الموافقة، والموافقة لا تنشئها.
issue التشغيل · todo
متتبّع الـ issuesتشغيل · حكم: الإسنادالوكيل المكلَّفإسناد issue في todo وتنفيذها من شأن نظام التنفيذ الخارجي. ونقل issue إلى todo لا يضمن بدء العمل.
التعثّر → الاستعادة → شخص
تُطلب مجددًا الـ issue المُسندة التي توقف نشاطها مع الـ issue والمكلَّف، وحين يبلغ عدم الاستجابة المتتالي الحد تنتقل إلى شخص.
الوكيل المكلَّفملاحظة · إبلاغ: سجلات التشغيلعمليات التشغيل الأخيرة · النشاط
ملاحظة التشغيلتُسجَّل عمليات تشغيل الوكيل المكلَّف وإشاراته الأخيرة ملاحظاتٍ. والنشاط ليس دليلًا على الاكتمال.
عمليات التشغيل الأخيرة · النشاط
ملاحظة التشغيلملاحظة · إبلاغ: آخر نشاطفحص التعثّر · heartbeatStage reaperلا ينظر الـ reaper إلا إلى الـ issues غير المكتملة أو الملغاة أو المحجوبة (done وcancelled وblocked) التي لها مكلَّف، ويحسب عمر آخر إشارة ومرحلة.
فحص التعثّر · heartbeat
Stage reaperبيانات: بلا رد +1مرات عدم الاستجابة · لكل issueحالة عدم الاستجابةيُعدّ عدم الاستجابة المتتالي لكل وكيل وissue ويُخزَّن في الحالة.
عمليات التشغيل الأخيرة · النشاط
ملاحظة التشغيلملاحظة · إبلاغ: نشاط جديد → إعادة ضبطمرات عدم الاستجابة · لكل issueحالة عدم الاستجابةيعيد النشاط الجديد ضبط العدّاد.
فحص التعثّر · heartbeat
Stage reaperتشغيل · حكم: إعادة الاستدعاءالـ issue + المكلَّفاستدعاء الاستعادةإذا تجاوز الـ heartbeat حدّه وكان العدد دون الحد، يُجرى استدعاء استعادة.
الـ issue + المكلَّف
استدعاء الاستعادةتشغيل · حكم: الـ issue + المكلَّفissue التشغيل · todoمتتبّع الـ issuesيُطلب الإسناد مجددًا مع الـ issue والوكيل المكلَّف وتعليق توضيحي، وتُفحص استجابة HTTP. ويرتد مسار قديم إلى استدعاء إيقاظ واحد.
مرات عدم الاستجابة · لكل issue
حالة عدم الاستجابةإخفاق · حد: بعد 3إيقاف إعادة الاستدعاء · cooldownالحدحين يبلغ عدم الاستجابة المتتالي الحد (3 افتراضيًا)، تتوقف إعادة الاستدعاء. ولا يصمد الحد إلا حين تقرأ hooks الحالة العدد وتكتبه، وقد يُضعفه فشل الحفظ.
إيقاف إعادة الاستدعاء · cooldown
الحدتشغيل · حكم: إعادة الإسناد · الإشعارقائد · مشغّليعيد الإسناد إلى قائد حيث أمكن، ولا يعيد in_progress إلى todo إلا حين تكون تلك الميزة مفعّلة. وإلا يترك تعليقًا وإشعارًا best-effort، ويسجّل cooldown بعد بلوغ الحد.
فحص التعثّر · heartbeat
Stage reaperملاحظة · إبلاغ: تحذير فقطقائد · مشغّلحين تطول مرحلة أكثر من اللازم، لا يُترك إلا تعليق تحذيري للمشغّلين. ولا تتغير الحالة تلقائيًا.
كل الروابط بالسماكة نفسها. اختر مسارًا لإبراز طريقه وحده، مع خطوات مرقّمة.
- خط متصل · اتجاه المُدخلات والنتائج والسجلات
- خط متقطع · تشغيل، حكم، طلب
- نقاط طويلة · الملاحظة والإبلاغ، بمعزل عن الحكم
- شرطات قصيرة · إخفاق، توقف، حد
- خط أسود سميك · المسار المختار، والأرقام تبيّن الترتيب
- مربع · حدّ شيفرة أو حالة، واسمه في الترويسة
- شريحة داخلية · مكوّن من ذلك الحد
- مربع منقّط · خارج ذلك الحد
- إطار برتقالي · حيث يقرر نموذج
- استدعاء الوكيل · استدعاء الاستعادة
- الحالة · السجلات
- فحص التعثّر · الحد
- الجمع · النشر
مرسومة من سجلات التطبيق والتطوير الخاصة. ولا تُعرض معرّفات الفريق والـ issues وSlack ولا الرسائل الأصلية، والنشر والحاويات وبيانات الاعتماد تعود إلى مالك خارج هذه الإضافة.
- ملاحظة واحدة
- تقرير April 28, 2026: في تشخيص يدوي قبل التغيير، طُلب مجددًا إسناد issue واحدة لم تُشغَّل منذ 67 ساعة مع الـ issue والمكلَّف، فدخل تشغيل جديد الطابور خلال 5 ثوانٍ. ولم يُقَس الاكتمال ولا متوسط زمن الاستعادة ولا الأثر بعد الطرح.
- حدود معالجة الموافقة
- على خلاف استدعاء الاستعادة، تضع معالجة الموافقة علامة approved على الربط دون فحص رمز الاستجابة. ولا تُوصف بأنها معاملة موافقة ذرّية أو fail-closed.
- متى يصمد الحد
- حد الاستدعاءات الثلاثة تطبيق يصمد حين توجد hooks الحالة. ولا يضمن تصعيدًا واحدًا بالضبط في كل إخفاق.