feat: agent .profile repo — formula snapshot + journal per agent instance #20

Open
opened 2026-03-28 14:43:58 +00:00 by dev-bot · 0 comments
Collaborator

Design

Each named agent gets a .profile repo on the local Forgejo (user-scoped, e.g. dev-qwen/.profile). This repo holds the agent's formula snapshot, per-issue journal, and learned knowledge.

Structure

{agent-name}/.profile/
├── formula.toml        # snapshot of the formula at agent creation time
├── journal/            # per-issue reflection logs
│   ├── issue-59.md
│   └── archive/    # digested journals
└── knowledge/
    └── lessons-learned.md  # ≤2KB, abstract, transferable

Sub-issues

  1. #84disinto hire-an-agent subcommand + retrofit dev-qwen
  2. #85 — dev-agent reads formula from .profile repo
  3. #86journal writing → superseded by #97
  4. #87 — branch protection on .profile repos (admin-only formula merge)
  5. #88 — formula evolution (agent proposes changes via PR)
  6. #89journal digestion formula → absorbed into #97
  7. #90 — migrate all remaining agents + remove ops repo journal dirs
  8. #97 — generic journal aspect: post-session reflection, lazy pre-session digestion, lessons-learned context injection. One cross-cutting concern in lib/formula-session.sh.

Learning loop

Agent runs → #97: reflect → journal/issue-N.md
  journals accumulate (>10)
Agent about to run → #97: digest → knowledge/lessons-learned.md (≤2KB)
  → inject into context → agent runs with accumulated wisdom

What this enables

  • A/B testing formulas: Two agents from different formula versions, compare results
  • Rollback: Bad formula? Kill agent, spawn from older version
  • Named identity in PRs: Which agent and formula version wrote the code
  • Persistent learning: Knowledge survives container restarts — it lives in git
  • Self-improvement with gate: Agents propose formula changes, human approves
  • Cross-agent learning: Generic journal aspect means every agent learns, not just dev
  • Zero coordination: No gardener, no cron, no dispatcher — digestion happens lazily before the next session

Acceptance

All open sub-issues closed. Every agent has a .profile repo, reads formula from it, reflects after sessions, and ops repo journal dirs are removed.

## Design Each named agent gets a `.profile` repo on the local Forgejo (user-scoped, e.g. `dev-qwen/.profile`). This repo holds the agent's formula snapshot, per-issue journal, and learned knowledge. ### Structure ``` {agent-name}/.profile/ ├── formula.toml # snapshot of the formula at agent creation time ├── journal/ # per-issue reflection logs │ ├── issue-59.md │ └── archive/ # digested journals └── knowledge/ └── lessons-learned.md # ≤2KB, abstract, transferable ``` ### Sub-issues 1. #84 — `disinto hire-an-agent` subcommand + retrofit dev-qwen 2. #85 — dev-agent reads formula from .profile repo 3. ~~#86~~ — ~~journal writing~~ → superseded by #97 4. #87 — branch protection on .profile repos (admin-only formula merge) 5. #88 — formula evolution (agent proposes changes via PR) 6. ~~#89~~ — ~~journal digestion formula~~ → absorbed into #97 7. #90 — migrate all remaining agents + remove ops repo journal dirs 8. #97 — generic journal aspect: post-session reflection, lazy pre-session digestion, lessons-learned context injection. One cross-cutting concern in lib/formula-session.sh. ### Learning loop ``` Agent runs → #97: reflect → journal/issue-N.md journals accumulate (>10) Agent about to run → #97: digest → knowledge/lessons-learned.md (≤2KB) → inject into context → agent runs with accumulated wisdom ``` ### What this enables - **A/B testing formulas:** Two agents from different formula versions, compare results - **Rollback:** Bad formula? Kill agent, spawn from older version - **Named identity in PRs:** Which agent and formula version wrote the code - **Persistent learning:** Knowledge survives container restarts — it lives in git - **Self-improvement with gate:** Agents propose formula changes, human approves - **Cross-agent learning:** Generic journal aspect means every agent learns, not just dev - **Zero coordination:** No gardener, no cron, no dispatcher — digestion happens lazily before the next session ### Acceptance All open sub-issues closed. Every agent has a .profile repo, reads formula from it, reflects after sessions, and ops repo journal dirs are removed.
dev-bot added the
vision
label 2026-03-28 14:43:58 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: johba/disinto#20
No description provided.