
Kiki
Radni signali i izvođenje agenata
Kako bi prijedlog postao izvođenje kod odgovorne osobe.
Paperclip dodatak i Slack sakupljač koji timu pomažu voditi njegove AI agente.
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
Između dodjele i stvarnog izvođenja, put za promatranje i oporavak.
Radni signali postaju profili i direktive agentima, a odobrenje prijedloga održavanja drži se odvojeno od dodjele njegova izvođenja. Kad aktivnost dodijeljenog zadatka stane, dodjela se ponovno traži sa zadatkom i odgovornom osobom, a ponovljeni izostanak odgovora vodi do ograničenja, cooldowna i ljudske prosudbe.
Radne signale pretvaraju u direktive agentima i povezuju prijedloge održavanja, ljudsko odobrenje, dodjelu i oporavak zaustavljenih izvođenja kao zasebne korake. Ovaj sam tijek planirao i razvio.
Prvi zapis u repozitoriju April 3, 2026 · suradnja s pinxlabom do May 26, 2026
Radi kao dodatak unutar timskog Paperclipa; prikupljanje iz Slacka obavlja MCP poslužitelj.
Signali → direktive
Profili i direktive agentima grade se iz povijesti Slacka. Direktive su kontekst agenta i nisu prikazane kao uzrok ikojeg prijedloga.
Slack signaliPodaci: povijest kanalaIzdvajanje obrazaca · bez botova
Prikupljanje signalaPrikuplja se dostupna povijest kanala, a poruke botova te poruke o pridruživanju i odlasku filtriraju se. Izvorne poruke nisu prikazane na ovoj stranici.
Izdvajanje obrazaca · bez botova
Prikupljanje signalaPodaci: spajanje profilaSpajanje profila tvrtkeStanje tvrtkeIzdvojeni obrasci postaju zakrpa profila spojena u profil tvrtke. To su heuristički obrasci, a ne ocjene učinka zaposlenika.
Spajanje profila tvrtke
Stanje tvrtkePodaci: ponovno generiranjeDirektive po agentuStanje agentaDirektive po agentu ponovno se generiraju iz spojenog profila i spremaju.
Direktive po agentu
Stanje agentaPokretanje · prosudba: unos direktivaDodijeljeni agentDirektive ulaze u kontekst agenta pri njegovu stvaranju. To ne znači da određeni prijedlog potječe od određenog Slack signala.
Prijedlog → odobrenje → dodjela
Prijedlog najprije postoji kao nedodijeljeni zadatak u backlogu, reakcija čovjeka traži promjenu statusa, a dodjela i izvođenje pripadaju vanjskom sustavu.
Ciljni projektPodaci: opseg ciljaPO poziv · ograničen prompt
Analiza održavanjaPosao održavanja poziva PO agenta s promptom ograničenim na ciljni projekt. Sadržaj izvora nije prikazan.
PO poziv · ograničen prompt
Analiza održavanjaPodaci: zadatak-prijedlogPrijedlog · backlogSustav za praćenje zadatakaPrompt traži prijedloge samo s provjerenim putanjama, kao nedodijeljene zadatke u backlogu, i zabranjuje pokretanje migracija baze podataka. To je uputa agentu proizvoda, a ne deterministički mehanizam provođenja.
Prijedlog · backlog
Sustav za praćenje zadatakaPodaci: objava prijedlogaMapiranje poruka ↔ zadatakObjava prijedlogaSvaki se prijedlog objavljuje u Slacku, a mapiranje poruke na zadatak sprema se. Već objavljeni prijedlozi ne objavljuju se ponovno, a spremljeno mapiranje čuva posljednjih 50.
Mapiranje poruka ↔ zadatak
Objava prijedlogaPodaci: Slack porukaČovjek · odobrava, odbijaČovjek vidi objavljeni prijedlog u Slacku.
Čovjek · odobrava, odbijaPokretanje · prosudba: reakcijaMapiranje poruka ↔ zadatak
Objava prijedlogaReakcija na poruku pronalazi zadatak preko mapiranja. Automatskog odobrenja nema.
Mapiranje poruka ↔ zadatak
Objava prijedlogaPokretanje · prosudba: odobri → todoZadatak za izvođenje · todoSustav za praćenje zadatakaPri odobrenju šalje se zahtjev da se prijedlog na čekanju prebaci u todo, a mapiranje i obavijest u niti ažuriraju se. Ovaj rukovatelj označava mapiranje kao odobreno bez provjere koda odgovora, pa to nije transakcija koja se zatvara pri neuspjehu.
Mapiranje poruka ↔ zadatak
Objava prijedlogaPokretanje · prosudba: odbij → cancelledPrijedlog · backlogSustav za praćenje zadatakaPri odbijanju šalje se zahtjev da se isti zadatak prebaci u cancelled. Zadatak je postojao prije odobrenja; odobrenje ga ne stvara.
Zadatak za izvođenje · todo
Sustav za praćenje zadatakaPokretanje · prosudba: dodjelaDodijeljeni agentDodjela i izvođenje zadatka u todo pripadaju vanjskom sustavu izvođenja. Prebacivanje zadatka u todo ne jamči da je posao počeo.
Zastoj → oporavak → čovjek
Za dodijeljeni zadatak čija je aktivnost stala dodjela se ponovno traži sa zadatkom i odgovornom osobom; kad uzastopni izostanci odgovora dosegnu ograničenje, slučaj prelazi čovjeku.
Dodijeljeni agentOpažanje · izvješće: zapisi izvođenjaNedavna izvođenja · aktivnost
Promatranje izvođenjaIzvođenja dodijeljenog agenta i nedavni signali bilježe se kao opažanja. Aktivnost nije dokaz dovršetka.
Nedavna izvođenja · aktivnost
Promatranje izvođenjaOpažanje · izvješće: posljednja aktivnostProvjera zastoja · heartbeatStage reaperReaper gleda samo zadatke koji nisu done, cancelled ni blocked i koji imaju odgovornu osobu te računa starost posljednjeg signala i faze.
Provjera zastoja · heartbeat
Stage reaperPodaci: bez odgovora +1Izostanci odgovora · po zadatkuStanje izostanaka odgovoraUzastopni izostanci odgovora broje se za svaki par agent–zadatak i spremaju u stanje.
Nedavna izvođenja · aktivnost
Promatranje izvođenjaOpažanje · izvješće: nova aktivnost → poništavanjeIzostanci odgovora · po zadatkuStanje izostanaka odgovoraNova aktivnost poništava brojač.
Provjera zastoja · heartbeat
Stage reaperPokretanje · prosudba: ponovni pozivZadatak + odgovorna osobaPoziv za oporavakAko je heartbeat prekoračen, a brojač je ispod ograničenja, izvodi se poziv za oporavak.
Zadatak + odgovorna osoba
Poziv za oporavakPokretanje · prosudba: zadatak + odgovorna osobaZadatak za izvođenje · todoSustav za praćenje zadatakaDodjela se ponovno traži sa zadatkom, dodijeljenim agentom i objašnjavajućim komentarom, a HTTP odgovor se provjerava. Naslijeđeni put umjesto toga koristi jedan poziv za buđenje.
Izostanci odgovora · po zadatku
Stanje izostanaka odgovoraNeuspjeh · ograničenje: nakon 3Zaustavljanje ponovnih poziva · cooldownOgraničenjeKad uzastopni izostanci odgovora dosegnu ograničenje (zadano 3), ponovni pozivi prestaju. Ograničenje vrijedi samo kad hookovi stanja čitaju i zapisuju brojač, a neuspjelo spremanje može ga oslabiti.
Zaustavljanje ponovnih poziva · cooldown
OgraničenjePokretanje · prosudba: ponovna dodjela · obavijestVoditelj · operaterAko je moguće, ponovno dodjeljuje voditelju, a in_progress vraća u todo samo kad je ta značajka uključena. Inače ostavlja komentar i obavijest po načelu best-effort, a nakon ograničenja bilježi cooldown.
Provjera zastoja · heartbeat
Stage reaperOpažanje · izvješće: samo upozorenjeVoditelj · operaterKad faza traje predugo, operaterima se ostavlja samo komentar s upozorenjem. Status se ne mijenja automatski.
Sve veze iste debljine. Odaberite tijek kako biste istaknuli samo njegov put s numeriranim koracima.
- Puna crta · smjer ulaza, rezultata i zapisa
- Isprekidana crta · pokretanje, prosudba, zahtjev
- Duga točkasta crta · opažanje i izvješćivanje, odvojeno od prosudbe
- Kratke crtice · neuspjeh, zaustavljanje, ograničenje
- Debela crna crta · odabrani tijek; brojevi daju redoslijed
- Okvir · granica koda ili stanja, imenovana u zaglavlju
- Unutarnja pločica · komponenta te granice
- Točkasti okvir · izvan te granice
- Narančasti obrub · mjesto gdje model odlučuje
- Poziv agenta · poziv za oporavak
- Stanje · zapisi
- Provjera zastoja · ograničenje
- Prikupljanje · objava
Nacrtano prema privatnim zapisima implementacije i razvoja. Identifikatori tima, zadataka i Slacka te izvorne poruke nisu prikazani; postavljanje, kontejneri i vjerodajnice pripadaju vlasniku izvan ovog dodatka.
- Jedno opažanje
- Izvješće od April 28, 2026: u ručnoj dijagnozi prije promjene za jedan zadatak koji se nije izvodio 67 sati dodjela je ponovno zatražena sa zadatkom i odgovornom osobom, a novo je izvođenje stavljeno u red unutar 5 sekundi. Dovršetak, prosječno vrijeme oporavka i učinak nakon uvođenja nisu izmjereni.
- Ograničenja obrade odobrenja
- Za razliku od poziva za oporavak, obrada odobrenja označava mapiranje kao odobreno bez provjere koda odgovora. Ne opisuje se kao atomska transakcija odobrenja ni kao ona koja se zatvara pri neuspjehu.
- Kad ograničenje vrijedi
- Ograničenje od 3 poziva implementacija je koja vrijedi kad postoje hookovi stanja. Ne jamči točno jednu eskalaciju pri svakom neuspjehu.