Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/SONNY.md
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,8 @@ when the goal ends, and the note goes with the agent.
## Memory

Memory is what earlier agents learned that a later one needs: decisions,
the person's preferences and corrections, traps, pointers. Each fact is one
the person's preferences, what they corrected and what they confirmed
worked, traps, pointers. Each fact is one
Markdown file of at most 16 KiB with front matter (`name`, `description`,
`type` of `user`, `feedback`, `project` or `reference`, `source`,
`verified`, and `external` when it is so). The person's facts are in `~/.agents/memory`, a project's in
Expand Down
4 changes: 2 additions & 2 deletions sonny/FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ per feature; group small things into the row they belong to.
| Tasks: the lead starts agents, each in its own git worktree (`sonny task`) | shipped | added 10-26 #142, #162; brief names its copy 10-28 #234; copies isolated, done tasks removed 10-28 #227; worktree starts with the lead's build folders 10-28 #286 | Only the lead works in its folder, so tasks never step on it or each other | ? |
| Task states and resolving (`/status` groups, `resolve_task`) | shipped | added 10-28 #244; tasks resolve themselves 10-28 #284; a goal's passed check reads `checked` 10-30 #379 | See at a glance what needs you, is working, or is done | ? |
| Lead and task roles as editable files (`~/.agents/agents/lead.md`, `task.md`) | shipped | added 10-28 #240; leads and tasks run as any profile, profiles extend others 10-29 #296; an upgrade offers a merge with an edited role 10-29 #357 | The person owns the roles; Sonny never overwrites their edits | ? |
| How leads work: act across tasks, care about the person, carry what one task lacks to whoever has it, react to the person's words in a task, pick task models | shipped | added 10-27 #229; routing 10-29 #295; reaction 10-29 #330, #340; models from the list 10-30 #385; asked why it starts another task 10-30 #386 | Leads that coordinate instead of only relaying | ? |
| How leads work: act across tasks, care about the person, carry what one task lacks to whoever has it, react to the person's words in a task, pick task models | shipped | added 10-27 #229; routing 10-29 #295; reaction 10-29 #330, #340; models from the list 10-30 #385; asked why it starts another task 10-30 #386; memory overrides the role files' defaults, pinned picks left to the model 10-30 #410 | Leads that coordinate instead of only relaying | ? |
| Proactive leads: straight feedback, coaching repeated habits, weighing what sources report, starting what the person said they will do | experimental | added 10-30 #394; commitments 10-30 #399; nightly habit reflection 10-30 #403 | Agents that flag what the person missed, say what they see unsugared, and follow through without being asked | ? |
| Sandbox for leads and tasks by default; trusted commands run outside it | shipped | added 10-28 #285; allow rules 10-29 #309 | A secure default, as Codex does, with ways out when blocked | ? |
| `sonny agent ARGS`, the one way agents reach the daemon | shipped | added 10-27 #199, #214 | One documented path instead of `$AGENT_BIN` or a bare `agent` | ? |
Expand Down Expand Up @@ -96,7 +96,7 @@ per feature; group small things into the row they belong to.
|---|---|---|---|---|
| `ask`: a question for the person, as a decision card with reasons | shipped | pinned questions above the composer 10-27 #192; declared tool 10-27 #225; decision card where it was asked 10-28 #245; options are buttons 10-29 #326; a task's question reaches its lead, a yellow ? and a muted bar, decisions and sends go through it 10-30 #395 | Agents ask instead of guessing; the person answers in one click | ? |
| `plan`: the agent's plan, drawn in the conversation | shipped | added 10-27 #225 | See the steps an agent intends | ? |
| Memory (`sonny memory`, the memory skills, nightly cleanup) | shipped | app memory 10-09 #82, 10-10 #104, #120; moved into Sonny 10-27 #189; a tool 10-28 #278; 16 KiB 10-28 #241; read tracking, 30-day unread check 10-29 #354; outside-content marks 10-29 #356; the cleanup reflects on habits, from the person's words and what they sent through their servers 10-30 #403; a server it cannot read holds the night open 10-30 #411 | Later agents start knowing what earlier ones learned | ? |
| Memory (`sonny memory`, the memory skills, nightly cleanup) | shipped | app memory 10-09 #82, 10-10 #104, #120; moved into Sonny 10-27 #189; a tool 10-28 #278; 16 KiB 10-28 #241; read tracking, 30-day unread check 10-29 #354; outside-content marks 10-29 #356; the cleanup reflects on habits, from the person's words and what they sent through their servers 10-30 #403; a server it cannot read holds the night open 10-30 #411; confirmed approaches saved, not only corrections 10-30 #410 | Later agents start knowing what earlier ones learned | ? |
| Triggers (`sonny trigger`): wake an agent at a time, on a file, a commit, or by name | shipped | app triggers 10-10 #89-#92; moved into Sonny 10-27 #189; skipped checks, `--replace` 10-28 #241; a tool 10-28 #278; Linux via systemd 10-29 #344; `--start` agents get Sonny's tools 10-30 #403 | Work that starts while nobody is at the terminal | ? |
| Turn-end triggers | removed | added 10-10 #89-#92; removed 10-27 #189 | Leads hear of task turns from task updates and the lookout | ? |
| Goals: keep an agent working until a check command passes | experimental | added 10-29 #341; `/goal WHAT` asks the agent to set one, `/goal` shows, `/goal clear` clears 10-30 #397 | Autonomy with a check, not a model's say-so | ? |
Expand Down
4 changes: 3 additions & 1 deletion sonny/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,9 @@ one of its tasks, with its name (`👀 calc.lead`) under the agent's own.
they missed, a better way of working or a mistake, coaching a habit
once it repeats (in `lead.md`, and in `task.md` for the rest). A lead
also starts, or sets up with a trigger, what the person said they will
do when nothing owns it, as far as their memory says they want; so
do when nothing owns it, as far as their memory says they want. Both
files say to save what the person corrected and what they welcomed, and
that their memory overrides the files' defaults; so
`start_task` gives what `--agents` or `--profile` would compose as the
task's instructions, with `task.md` after it. Paths in the lead's folder
that a brief names (through a link too) are turned into the same paths
Expand Down
Loading
Loading