Transparent ansigtsudsnit afledt af Kiki-katteillustrationen leveret af forfatteren
Tilbage til salen

Kiki

Arbejdssignaler og agentudførelse

Så et forslag bliver til den ansvarliges udførelse.

Et Paperclip-plugin og en Slack-indsamler, der hjælper et team med at drive sine AI-agenter.

2026.04 — 2026.05

pinxlab AI-F&U, freelance · planlægning og udvikling af arbejdsgange, undersøgelse af udførelse, der går i stå, og design af gendannelsessti

  • PluginImplementeret · Paperclip
  • MCP-serverImplementeret · Slack-indsamler

Kiki vocabulary

Lens
Agent Execution
Dispatch
Recovery
Work Signals
Signal Ingestion
Proposal
  1. assignment
  2. wake
  3. guardrail
  1. stage reaper
  2. zombie sweeper
  3. circuit breaker
  4. escalation
  1. observe
  2. signals
  3. profile
  4. directive
  1. proposal
  2. 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

Mellem tildeling og faktisk udførelse: en sti til at observere og gendanne.

Arbejdssignaler bliver til profiler og agentdirektiver, og godkendelse af et vedligeholdelsesforslag holdes adskilt fra tildeling af dets udførelse. Når aktiviteten på et tildelt issue stopper, anmodes der igen med issue og ansvarlig, og gentagne udeblevne svar går videre til en grænse, en cooldown og en persons vurdering.

De omsætter arbejdssignaler til agentdirektiver og forbinder vedligeholdelsesforslag, menneskelig godkendelse, tildeling og gendannelse af kørsler, der er gået i stå, som separate trin. Jeg planlagde og udviklede dette forløb.

Første log i repositoryet 3. april 2026 · opgave for pinxlab til og med 26. maj 2026

Kører som plugin inde i teamets Paperclip; en MCP-server står for indsamlingen fra Slack.

Kort over udførelsesforløbet · ud fra private implementeringslogs
Kiki: signaler · godkendelse · gendannelse af udførelseArbejdsmønstre udtrækkes fra tilgængelig kanalhistorik i Slack til virksomhedsprofiler og direktiver pr. agent. En agent til vedligeholdelsesanalyse ser på et målprojekt og efterlader forslag som ikke-tildelte backlog-issues; hvert forslag slås op i Slack, hvor en person godkender eller afviser det med en reaktion. Når et godkendt issue er tildelt en agent, udfører et eksternt udførelsessystem arbejdet, og en stage reaper holder øje med den seneste aktivitet. Hvis aktiviteten stopper, anmodes der igen om tildelingen med issue og ansvarlig; når udeblevne svar i træk når grænsen, stopper nye kald, og sagen går til en lead eller operatør.Slack-signalerTilgængelig kanalhistorikTildelt agentEkstern udførelseMålprojektIndhold vises ikkePerson · godkend, afvisSlack-reaktionLead · operatørOmtildel · giv beskedSignalindsamlingMønsterudtræk · ingen botsVirksomhedstilstandFletning af virksomhedsprofilAgenttilstandDirektiver pr. agentKørselsobservationSeneste kørsler · aktivitetVedligeholdelsesanalysePO-kald · afgrænset promptIssue-trackerForslag · backlogKørsels-issue · todoOpslag af forslagKobling besked ↔ issueStage reaperKontrol af stilstand · heartbeatGendannelseskaldIssue + ansvarligTilstand for udeblevne svarUdeblevne svar · pr. issueGrænseStop nye kald · cooldownSignaler → direktiverEkstern udførelseForslag → menneskelig godkendelseGendannelse · eskalering1 kanalhistorik · Slack-signaler → Mønsterudtræk · ingen bots12 fletning af profil · Mønsterudtræk · ingen bots → Fletning af virksomhedsprofil23regenerér4 direktiver ind · Direktiver pr. agent → Tildelt agent41målomfang2 forslags-issue · PO-kald · afgrænset prompt → Forslag · backlog23slå forslag op4Slack-besked5reaktion6godkend → todo7afvis → cancelled8tildeling1kørselslogs2seneste aktivitet3udeblevet svar +14ny aktivitet → nulstil5 nyt kald · Kontrol af stilstand · heartbeat → Issue + ansvarlig56issue + ansvarlig7efter 38omtildel · giv besked9kun advarsel

Signaler → direktiver

Profiler og agentdirektiver bygges ud fra Slack-historik. Direktiver er agentkontekst og er ikke tegnet som årsag til noget forslag.

  1. Slack-signalerData: kanalhistorikMønsterudtræk · ingen botsSignalindsamling

    Tilgængelig kanalhistorik indsamles, og beskeder fra bots samt om at tilslutte sig og forlade kanalen frasorteres. Originale beskeder vises ikke på denne side.

  2. Mønsterudtræk · ingen botsSignalindsamlingData: fletning af profilFletning af virksomhedsprofilVirksomhedstilstand

    Udtrukne mønstre bliver til en profil-patch, der flettes ind i virksomhedsprofilen. Det er heuristiske mønstre, ikke medarbejderes præstationsscorer.

  3. Fletning af virksomhedsprofilVirksomhedstilstandData: regenerérDirektiver pr. agentAgenttilstand

    Direktiver pr. agent regenereres ud fra den flettede profil og gemmes.

  4. Direktiver pr. agentAgenttilstandKørsel · vurdering: direktiver indTildelt agent

    Direktiver kommer ind i en agents kontekst, når den oprettes. Det betyder ikke, at et bestemt forslag stammer fra et bestemt Slack-signal.

Forslag → godkendelse → tildeling

Et forslag findes først som et ikke-tildelt backlog-issue, en persons reaktion anmoder om en statusændring, og tildeling og udførelse hører til det eksterne system.

  1. MålprojektData: målomfangPO-kald · afgrænset promptVedligeholdelsesanalyse

    Vedligeholdelsesjobbet kalder PO-agenten med en prompt afgrænset til målprojektet. Kildeindhold vises ikke.

  2. PO-kald · afgrænset promptVedligeholdelsesanalyseData: forslags-issueForslag · backlogIssue-tracker

    Prompten beder om forslag med kun verificerede stier som ikke-tildelte backlog-issues og forbyder at køre DB-migreringer. Det er en instruks til en produktagent, ikke en deterministisk håndhævelsesmekanisme.

  3. Forslag · backlogIssue-trackerData: slå forslag opKobling besked ↔ issueOpslag af forslag

    Hvert forslag slås op i Slack, og koblingen mellem besked og issue gemmes. Forslag, der allerede er slået op, slås ikke op igen, og den gemte kobling rummer de seneste 50.

  4. Kobling besked ↔ issueOpslag af forslagData: Slack-beskedPerson · godkend, afvis

    En person ser det opslåede forslag i Slack.

  5. Person · godkend, afvisKørsel · vurdering: reaktionKobling besked ↔ issueOpslag af forslag

    En reaktion på beskeden finder issuet via koblingen. Der er ingen automatisk godkendelse.

  6. Kobling besked ↔ issueOpslag af forslagKørsel · vurdering: godkend → todoKørsels-issue · todoIssue-tracker

    Ved godkendelse sendes en anmodning om at flytte det ventende forslags-issue til todo, og koblingen og trådbeskeden opdateres. Denne handler markerer koblingen som godkendt uden at kontrollere svarkoden, så det er ikke en fail-closed-transaktion.

  7. Kobling besked ↔ issueOpslag af forslagKørsel · vurdering: afvis → cancelledForslag · backlogIssue-tracker

    Ved afvisning sendes en anmodning om at flytte samme issue til cancelled. Issuet fandtes før godkendelsen; godkendelsen opretter det ikke.

  8. Kørsels-issue · todoIssue-trackerKørsel · vurdering: tildelingTildelt agent

    Tildeling og udførelse af et todo-issue hører til det eksterne udførelsessystem. At flytte et issue til todo garanterer ikke, at arbejdet er startet.

Stilstand → gendannelse → person

For et tildelt issue, hvis aktivitet er stoppet, anmodes der igen med issue og ansvarlig; når udeblevne svar i træk når grænsen, går det til en person.

  1. Tildelt agentObservation · rapport: kørselslogsSeneste kørsler · aktivitetKørselsobservation

    Den tildelte agents kørsler og seneste signaler registreres som observationer. Aktivitet er ikke belæg for fuldførelse.

  2. Seneste kørsler · aktivitetKørselsobservationObservation · rapport: seneste aktivitetKontrol af stilstand · heartbeatStage reaper

    Reaperen ser kun på issues, der ikke er done, cancelled eller blocked, og som har en ansvarlig, og beregner alderen på det seneste signal og stage.

  3. Kontrol af stilstand · heartbeatStage reaperData: udeblevet svar +1Udeblevne svar · pr. issueTilstand for udeblevne svar

    Udeblevne svar i træk tælles pr. agent og issue og gemmes i tilstanden.

  4. Seneste kørsler · aktivitetKørselsobservationObservation · rapport: ny aktivitet → nulstilUdeblevne svar · pr. issueTilstand for udeblevne svar

    Ny aktivitet nulstiller tællingen.

  5. Kontrol af stilstand · heartbeatStage reaperKørsel · vurdering: nyt kaldIssue + ansvarligGendannelseskald

    Hvis heartbeat overskrides, og tællingen er under grænsen, foretages et gendannelseskald.

  6. Issue + ansvarligGendannelseskaldKørsel · vurdering: issue + ansvarligKørsels-issue · todoIssue-tracker

    Der anmodes igen om tildelingen med issue, den tildelte agent og en forklarende kommentar, og HTTP-svaret kontrolleres. En legacy-sti falder tilbage til et enkelt vækningskald.

  7. Udeblevne svar · pr. issueTilstand for udeblevne svarFejl · grænse: efter 3Stop nye kald · cooldownGrænse

    Når udeblevne svar i træk når grænsen (som standard 3), stopper nye kald. Grænsen holder kun, når state-hooks læser og skriver tællingen, og en mislykket lagring kan svække den.

  8. Stop nye kald · cooldownGrænseKørsel · vurdering: omtildel · giv beskedLead · operatør

    Omtildeler om muligt til en lead og flytter kun in_progress tilbage til todo, når den funktion er slået til. Ellers efterlades en kommentar og en best-effort-notifikation, og en cooldown registreres efter grænsen.

  9. Kontrol af stilstand · heartbeatStage reaperObservation · rapport: kun advarselLead · operatør

    Når en stage varer for længe, efterlades kun en advarende kommentar til operatører. Status ændres ikke automatisk.

Alle forbindelser med samme tykkelse. Vælg et flow for kun at fremhæve dets vej med nummererede trin.

  • Fuldt optrukket · retning for input, resultater og logs
  • Stiplet · kørsel, vurdering, anmodning
  • Lange prikker · observation og rapportering, adskilt fra vurdering
  • Korte streger · fejl, stop, grænse
  • Kraftig sort linje · det valgte flow; tal angiver rækkefølgen
  • Boks · kode- eller tilstandsgrænse, navngivet i overskriften
  • Indre chip · en komponent inden for grænsen
  • Prikket boks · uden for grænsen
  • Orange kontur · hvor en model træffer beslutninger
  • Agentkald · gendannelseskald
  • Tilstand · logs
  • Kontrol af stilstand · grænse
  • Indsamling · opslag

Tegnet ud fra private implementerings- og udviklingslogs. Team-, issue- og Slack-identifikatorer og originale beskeder vises ikke; udrulning, containere og legitimationsoplysninger tilhører en ejer uden for dette plugin.

Én observation
Rapport fra 28. april 2026: i en manuel diagnose før ændringen blev der for ét issue, der ikke havde kørt i 67 timer, anmodet igen om tildelingen med issue og ansvarlig, og en ny kørsel blev sat i kø inden for 5 sekunder. Fuldførelse, gennemsnitlig gendannelsestid og effekt efter udrulning blev ikke målt.
Begrænsninger i behandlingen af godkendelser
I modsætning til gendannelseskaldet markerer behandlingen af godkendelser koblingen som godkendt uden at kontrollere svarkoden. Den beskrives ikke som en atomisk eller fail-closed godkendelsestransaktion.
Hvornår grænsen holder
Grænsen på 3 kald er en implementering, der holder, når state-hooks er til stede. Den garanterer ikke præcis én eskalering ved enhver fejl.