
Kiki
Σήματα εργασίας και εκτέλεση πρακτόρων
Ώστε μια πρόταση να γίνει εκτέλεση από τον υπεύθυνο.
Ένα πρόσθετο για το Paperclip και ένας συλλέκτης Slack που βοηθούν μια ομάδα να λειτουργεί τους πράκτορες AI της.
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 συναλλαγή έγκρισης.
- Πότε ισχύει το όριο
- Το όριο των 3 κλήσεων είναι υλοποίηση που ισχύει όταν υπάρχουν hooks κατάστασης. Δεν εγγυάται ακριβώς μία κλιμάκωση σε κάθε αποτυχία.