You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Blokkert av:#67 (aktivitetsnøkkel per DM-kanal og i-arbeid-sjekk må være på plass først — denne bygger livssyklus oppå den indeksen).
Bakgrunn
Aktivitetsindeksen i routeren (#52) er en LRU-aktig liste (maks 200; touch oppdaterer updated_at, de eldste droppes ved kapasitet). To ting mangler:
Ingen eksplisitt avslutning: når en oppgave er løst (issuet lukkes, tråden dør), blir aktiviteten liggende til den tilfeldigvis skvises ut. Ingen skiller «løst» fra «glemt».
Eviction er stille: når et innslag aldres ut, skjer det inne i upsert uten at noen får vite det. All kontekst om hva aktiviteten var, hva som ble gjort og hvilke tilbakemeldinger som kom, går tapt ulært.
Samtidig finnes alle byggeklossene for å lære av avsluttede aktiviteter: debrief-mønsteret fra delegeringene (interne events uten svar-rute), kunnskapsrepoet med inbox/learnings.jsonl, og synthesis-loopen som batcher læring (SYNTHESIS_INTERVAL_HOURS). Dette er også første konkrete bit av meta-prosess-ideen om å overvåke og lære av agentens egen oppførsel.
Foreslått løsning
Rollefordeling: indeksen i integrations forblir dum og billig (kun matching). Alt innhold — arbeidsdokument, refleksjon — eies av proxy-agenten via kunnskapsrepoet.
Arbeidsdokument per aktivitet (proxy-agenten): når agenten begynner på en henvendelse knyttet til en aktivitet (issue/tråd), oppretter/oppdaterer den activities/<key>.md i kunnskapsrepoet: intensjon, hva som er gjort, tilbakemeldinger underveis. Git gir historikk og synlighet gratis. Skill-instruks, ingen harness-endring.
Eksplisitt avslutning: GitHub-polleren ser når et issue boten er involvert i lukkes — det er «oppgave løst»-signalet. Integrations fjerner aktiviteten fra indeksen og sender et internt activity-retired-event til proxyens inbox (source: "agent", ingen svar-rute, teller ikke som delegeringshopp — samme semantikk som delegation-outcome), med reason: "resolved".
Retrospektiv ved utløp: samme activity-retired-event sendes med reason: "evicted" når LRU-en dropper et innslag. Proxyen kjører en kort refleksjon over arbeidsdokumentet (hva var intensjonen, ble den nådd, hva lærte vi) og appender 0–2 læringer til kunnskapsrepoets inbox/learnings.jsonl. Batch-læringen skjer allerede: synthesis-loopen plukker opp innboksen på neste kjøring (typisk natt).
DM-embedding rulleres: med Ikke deleger samme sak to ganger: i-arbeid-sjekk før delegering + DM-fiks i aktivitetsindeksen #67 blir én DM-kanal én evig aktivitet, og embeddingen (første melding noensinne) representerer kanalen stadig dårligere. Ved touch på en IM-aktivitet re-embeddes siste melding (eller et rullerende vindu). DM-kanaler får ikke retrospektiv ved utløp — de er kontekstkanaler, ikke oppgaver; refleksjonsenheten er issues/tråder.
Steg
activity-retired-event i integrations (fjerning ved issue-lukking + hook i LRU-eviction), etter debrief-mønsteret.
Rullerende embedding for IM-aktiviteter i routeren.
Skill/prompt-instruks i proxy-agenten: arbeidsdokument i activities/, refleksjon ved activity-retired, læringer til innboksen.
Verifisér ende-til-ende: lukk et issue → aktivitet fjernes → refleksjon skrevet → læring synlig i neste syntese.
integrations/src/github/poller.ts — issue-lukking som avslutningssignal
agents/proxy-agent/docker/entrypoint.sh + skills — arbeidsdokument- og refleksjonsinstruks
integrations/README.md, doc/
Akseptansekriterier
Lukking av et issue boten er involvert i fjerner aktiviteten fra indeksen og gir proxyen et activity-retired-event (resolved).
LRU-eviction gir samme event med reason: "evicted" i stedet for å droppe stille.
Proxyen fører arbeidsdokument per aktivitet i kunnskapsrepoet og skriver refleksjonslæringer til inbox/learnings.jsonl ved retirement; syntesen plukker dem opp uten nye mekanismer.
DM-aktiviteter re-embeddes rullerende og unntas retrospektiv.
activity-retired kan aldri starte delegeringskjeder eller poste til Slack/GitHub (ingen svar-rute).
Bakgrunn
Aktivitetsindeksen i routeren (#52) er en LRU-aktig liste (maks 200;
touchoppdatererupdated_at, de eldste droppes ved kapasitet). To ting mangler:upsertuten at noen får vite det. All kontekst om hva aktiviteten var, hva som ble gjort og hvilke tilbakemeldinger som kom, går tapt ulært.Samtidig finnes alle byggeklossene for å lære av avsluttede aktiviteter: debrief-mønsteret fra delegeringene (interne events uten svar-rute), kunnskapsrepoet med
inbox/learnings.jsonl, og synthesis-loopen som batcher læring (SYNTHESIS_INTERVAL_HOURS). Dette er også første konkrete bit av meta-prosess-ideen om å overvåke og lære av agentens egen oppførsel.Foreslått løsning
Rollefordeling: indeksen i integrations forblir dum og billig (kun matching). Alt innhold — arbeidsdokument, refleksjon — eies av proxy-agenten via kunnskapsrepoet.
activities/<key>.mdi kunnskapsrepoet: intensjon, hva som er gjort, tilbakemeldinger underveis. Git gir historikk og synlighet gratis. Skill-instruks, ingen harness-endring.activity-retired-event til proxyens inbox (source: "agent", ingen svar-rute, teller ikke som delegeringshopp — samme semantikk somdelegation-outcome), medreason: "resolved".activity-retired-event sendes medreason: "evicted"når LRU-en dropper et innslag. Proxyen kjører en kort refleksjon over arbeidsdokumentet (hva var intensjonen, ble den nådd, hva lærte vi) og appender 0–2 læringer til kunnskapsrepoetsinbox/learnings.jsonl. Batch-læringen skjer allerede: synthesis-loopen plukker opp innboksen på neste kjøring (typisk natt).touchpå en IM-aktivitet re-embeddes siste melding (eller et rullerende vindu). DM-kanaler får ikke retrospektiv ved utløp — de er kontekstkanaler, ikke oppgaver; refleksjonsenheten er issues/tråder.Steg
activity-retired-event i integrations (fjerning ved issue-lukking + hook i LRU-eviction), etter debrief-mønsteret.activities/, refleksjon vedactivity-retired, læringer til innboksen.Berørte filer
integrations/src/router/activities.ts— fjerning + eviction-hook, IM-re-embeddingintegrations/src/router/router.ts— rullerende IM-embedding ved touchintegrations/src/agent/queue.ts—activity-retired-event (gjenbruk debrief-mekanikken)integrations/src/github/poller.ts— issue-lukking som avslutningssignalagents/proxy-agent/docker/entrypoint.sh+ skills — arbeidsdokument- og refleksjonsinstruksintegrations/README.md,doc/Akseptansekriterier
activity-retired-event (resolved).reason: "evicted"i stedet for å droppe stille.inbox/learnings.jsonlved retirement; syntesen plukker dem opp uten nye mekanismer.activity-retiredkan aldri starte delegeringskjeder eller poste til Slack/GitHub (ingen svar-rute).