
Kiki
Sinyal kerja dan eksekusi agen
Agar sebuah usulan menjadi eksekusi oleh penanggung jawabnya.
Plugin Paperclip dan pengumpul Slack yang membantu tim menjalankan agen AI-nya.
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
Di antara penugasan dan eksekusi aktual, sebuah jalur untuk mengamati dan memulihkan.
Sinyal kerja menjadi profil dan arahan agen, dan persetujuan usulan pemeliharaan dipisahkan dari penugasan eksekusinya. Bila aktivitas isu yang ditugaskan berhenti, isu itu diminta lagi dengan isu dan penanggung jawabnya, dan tanpa-respons yang berulang menuju batas, cooldown, dan penilaian manusia.
Keduanya mengubah sinyal kerja menjadi arahan agen dan menghubungkan usulan pemeliharaan, persetujuan manusia, penugasan, dan pemulihan eksekusi yang macet sebagai langkah terpisah. Saya merencanakan dan mengembangkan alur ini.
Catatan repositori pertama April 3, 2026 · keterlibatan dengan pinxlab hingga May 26, 2026
Berjalan sebagai plugin di dalam Paperclip milik tim; server MCP menangani pengumpulan Slack.
Sinyal → arahan
Profil dan arahan agen dibangun dari riwayat Slack. Arahan adalah konteks agen dan tidak digambarkan sebagai penyebab usulan mana pun.
Sinyal SlackData: riwayat kanalEkstraksi pola · tanpa bot
Pengumpulan sinyalRiwayat kanal yang dapat diakses dikumpulkan dan pesan bot, bergabung, dan keluar disaring. Pesan asli tidak ditampilkan di halaman ini.
Ekstraksi pola · tanpa bot
Pengumpulan sinyalData: penggabungan profilPenggabungan profil perusahaanStatus perusahaanPola yang diekstraksi menjadi patch profil yang digabungkan ke profil perusahaan. Ini pola heuristik, bukan skor kinerja karyawan.
Penggabungan profil perusahaan
Status perusahaanData: buat ulangArahan per agenStatus agenArahan per agen dibuat ulang dari profil yang digabungkan dan disimpan.
Arahan per agen
Status agenEksekusi · penilaian: arahan masukAgen yang ditugaskanArahan masuk ke konteks agen saat agen dibuat. Ini tidak berarti usulan tertentu berasal dari sinyal Slack tertentu.
Usulan → persetujuan → penugasan
Usulan mula-mula ada sebagai isu backlog tanpa penanggung jawab, reaksi seseorang meminta perubahan status, dan penugasan serta eksekusi menjadi urusan sistem eksternal.
Proyek targetData: cakupan targetPanggilan PO · prompt bercakupan
Analisis pemeliharaanPekerjaan pemeliharaan memanggil agen PO dengan prompt yang dibatasi pada proyek target. Isi sumber tidak ditampilkan.
Panggilan PO · prompt bercakupan
Analisis pemeliharaanData: isu usulanUsulan · backlogPelacak isuPrompt meminta usulan hanya dengan path yang terverifikasi, sebagai isu backlog tanpa penanggung jawab, dan melarang menjalankan migrasi DB. Ini instruksi untuk agen produk, bukan mekanisme penegakan deterministik.
Usulan · backlog
Pelacak isuData: unggah usulanPemetaan pesan ↔ isuPengunggahan usulanSetiap usulan diunggah ke Slack dan pemetaan pesan-ke-isu disimpan. Usulan yang sudah diunggah tidak diunggah lagi, dan peta yang disimpan menyimpan 50 terbaru.
Pemetaan pesan ↔ isu
Pengunggahan usulanData: pesan SlackOrang · setujui, tolakSeseorang melihat usulan yang diunggah di Slack.
Orang · setujui, tolakEksekusi · penilaian: reaksiPemetaan pesan ↔ isu
Pengunggahan usulanReaksi pada pesan menemukan isu melalui pemetaan. Tidak ada persetujuan otomatis.
Pemetaan pesan ↔ isu
Pengunggahan usulanEksekusi · penilaian: setujui → todoIsu eksekusi · todoPelacak isuSaat disetujui, permintaan dikirim untuk memindahkan isu usulan yang tertunda ke todo, dan pemetaan serta pemberitahuan thread diperbarui. Handler ini menandai pemetaan sebagai disetujui tanpa memeriksa kode respons, jadi ini bukan transaksi fail-closed.
Pemetaan pesan ↔ isu
Pengunggahan usulanEksekusi · penilaian: tolak → cancelledUsulan · backlogPelacak isuSaat ditolak, permintaan dikirim untuk memindahkan isu yang sama ke cancelled. Isu sudah ada sebelum persetujuan; persetujuan tidak membuatnya.
Isu eksekusi · todo
Pelacak isuEksekusi · penilaian: penugasanAgen yang ditugaskanPenugasan dan eksekusi isu todo menjadi urusan sistem eksekusi eksternal. Memindahkan isu ke todo tidak menjamin pekerjaan dimulai.
Macet → pemulihan → orang
Isu yang ditugaskan dan aktivitasnya berhenti diminta lagi dengan isu dan penanggung jawabnya; bila tanpa-respons berturut-turut mencapai batas, isu diteruskan ke orang.
Agen yang ditugaskanObservasi · laporan: catatan eksekusiEksekusi terbaru · aktivitas
Observasi eksekusiEksekusi dan sinyal terbaru agen yang ditugaskan dicatat sebagai observasi. Aktivitas bukan bukti penyelesaian.
Eksekusi terbaru · aktivitas
Observasi eksekusiObservasi · laporan: aktivitas terakhirPemeriksaan macet · heartbeatStage reaperReaper hanya melihat isu yang bukan done, cancelled, atau blocked dan memiliki penanggung jawab, lalu menghitung umur sinyal dan stage terakhir.
Pemeriksaan macet · heartbeat
Stage reaperData: tanpa balasan +1Tanpa-respons · per isuStatus tanpa-responsTanpa-respons berturut-turut dihitung per agen dan isu lalu disimpan di status.
Eksekusi terbaru · aktivitas
Observasi eksekusiObservasi · laporan: aktivitas baru → resetTanpa-respons · per isuStatus tanpa-responsAktivitas baru me-reset hitungan.
Pemeriksaan macet · heartbeat
Stage reaperEksekusi · penilaian: panggil ulangIsu + penanggung jawabPanggilan pemulihanBila heartbeat terlampaui dan hitungan masih di bawah batas, panggilan pemulihan dilakukan.
Isu + penanggung jawab
Panggilan pemulihanEksekusi · penilaian: isu + penanggung jawabIsu eksekusi · todoPelacak isuPenugasan diminta lagi dengan isu, agen yang ditugaskan, dan komentar penjelasan, dan respons HTTP diperiksa. Jalur legacy kembali ke satu panggilan pembangunan.
Tanpa-respons · per isu
Status tanpa-responsKegagalan · batas: setelah 3Hentikan panggilan ulang · cooldownBatasBila tanpa-respons berturut-turut mencapai batas (bawaan 3), panggilan ulang berhenti. Batas ini hanya berlaku bila hook status membaca dan menulis hitungan, dan penyimpanan yang gagal dapat melemahkannya.
Hentikan panggilan ulang · cooldown
BatasEksekusi · penilaian: tugaskan ulang · notifikasiLead · operatorMenugaskan ulang ke lead bila memungkinkan, dan memindahkan in_progress kembali ke todo hanya bila fitur itu diaktifkan. Bila tidak, meninggalkan komentar dan notifikasi best-effort, serta mencatat cooldown setelah batas.
Pemeriksaan macet · heartbeat
Stage reaperObservasi · laporan: hanya peringatanLead · operatorBila stage berlangsung terlalu lama, hanya komentar peringatan yang ditinggalkan untuk operator. Status tidak diubah otomatis.
Setiap koneksi dengan bobot yang sama. Pilih alur untuk menyorot hanya jalurnya, dengan langkah bernomor.
- Garis utuh · arah input, hasil, dan catatan
- Garis putus · eksekusi, penilaian, permintaan
- Titik panjang · observasi dan pelaporan, terpisah dari penilaian
- Strip pendek · kegagalan, berhenti, batas
- Garis hitam tebal · alur yang dipilih; angka menunjukkan urutan
- Kotak · batas kode atau status, namanya di bagian kepala
- Chip dalam · komponen dari batas itu
- Kotak bertitik · di luar batas itu
- Garis tepi oranye · tempat model memutuskan
- Panggilan agen · panggilan pemulihan
- Status · catatan
- Pemeriksaan macet · batas
- Pengumpulan · pengunggahan
Digambar dari catatan implementasi dan pengembangan privat. Pengenal tim, isu, dan Slack serta pesan asli tidak ditampilkan; deployment, kontainer, dan kredensial dimiliki pihak di luar plugin ini.
- Satu observasi
- Laporan April 28, 2026: dalam diagnosis manual sebelum perubahan, satu isu yang tidak berjalan selama 67 jam diminta penugasannya lagi dengan isu dan penanggung jawabnya, dan eksekusi baru masuk antrean dalam 5 detik. Penyelesaian, rata-rata waktu pemulihan, dan efek setelah peluncuran tidak diukur.
- Batas penanganan persetujuan
- Berbeda dari panggilan pemulihan, penanganan persetujuan menandai pemetaan sebagai disetujui tanpa memeriksa kode respons. Ini tidak digambarkan sebagai transaksi persetujuan yang atomik atau fail-closed.
- Kapan batas berlaku
- Batas 3 panggilan adalah implementasi yang berlaku bila hook status tersedia. Ini tidak menjamin tepat satu eskalasi dalam setiap kegagalan.