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
feat: introduce research briefs and self-harness functionality
- Added support for generating research briefs, allowing users to create cited markdown documents.
- Implemented a self-harness mechanism for recording failures and proposing YAML patches, requiring human approval for irreversible actions.
- Updated CLI to include commands for brief generation and harness management.
- Enhanced README and documentation to reflect new features and usage instructions.
Copy file name to clipboardExpand all lines: DECISIONS.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,12 +78,21 @@ Survivors are expected on the first baseline — many are equivalent mutations (
78
78
79
79
---
80
80
81
+
## Personal Operator first
82
+
83
+
**Chose Research Desk before shopping/trading.** Same harness DNA (tools, memory, citations, light HITL) with a vertical that needs no Gmail/Calendar/checkout. Product surface: `operator.yaml` + `ai-agent brief`. Irreversible actions go through `request_approval` rather than a new `AgentDecision.kind`, keeping the decision schema stable.
84
+
85
+
## Self-Harness moonshot (experimental)
86
+
87
+
**Chose a guarded scaffold, not unsupervised self-modification.** Failures are mined into `HarnessPatch` surfaces limited to YAML (`system_prompt` append, `max_tool_rounds`). Accept runs pytest and requires a human CLI step. Arbitrary Python edits and auto-merge are out of v0 — matches “study while touching code” without claiming AGI. Framing and reading list live in the README moonshot section.
88
+
81
89
## What this is not
82
90
83
91
- Not an observability platform
84
92
- Not tied to a single framework beyond OpenAI-compatible HTTP
85
93
- Not a customer-support field collector (that can be a *tool* or a separate config, not the core)
86
94
- Not a free-form multi-agent mesh (synchronous coordinator→specialist ask only)
95
+
- Not an unsupervised self-modifying agent (Self-Harness patches are human-gated config only)
uv run ai-agent -c config/agents/operator.yaml # interactive
137
+
```
138
+
139
+
The operator prefers `web_search` → `http_get` → local `retrieve` / `workspace_search`, remembers prefs via `memory` (`pref.*` keys), and never invents sources. Optional `--approve` gates publication. Irreversible future actions use the `request_approval` tool.
140
+
141
+
---
142
+
143
+
## Moonshot: Self-Harness
144
+
145
+
Industry frontier (not “solved”): a fixed model improves the **software around itself** — prompts, tool descriptions, loop budgets — from execution evidence, without weight updates. Canonical loop: weakness mining → harness proposal → validation (held-in improves, held-out does not regress).
|[Lil’Log — Harness Engineering for Self-Improvement](https://lilianweng.github.io/posts/2026-07-04-harness/)| Map of self-improvement vs weight updates |
153
+
|[LangChain — Anatomy of an Agent Harness](https://www.langchain.com/blog/the-anatomy-of-an-agent-harness)| Agent = Model + Harness vocabulary |
154
+
|[Anthropic — Effective harnesses for long-running agents](https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents)| Long-horizon reliability |
155
+
156
+
**Scaffold in this repo (human-gated):** failures auto-log on step exceptions; `harness propose` writes a JSON patch (prompt append / `max_tool_rounds` only); `harness accept` runs a pytest subset then merges into YAML. **No auto-merge. No arbitrary Python edits in v0.**
157
+
158
+
```bash
159
+
uv run ai-agent harness record-failure "Timed out waiting for researcher"
160
+
uv run ai-agent harness propose
161
+
uv run ai-agent harness accept patch_… -c config/agents/operator.yaml
0 commit comments