Forge
markdowne8ad0934
1# External memory: запись в артефакты как обход harness (v1)
2
3**Domain:** `agent-operations`
4**Дата:** 2026-06-14
5**Provenance:** диалог оператор + agent (Cursor); тема parity, harness vs habitat.
6
7**Связь:** hub [`agent-memory-and-operating-principles-v1.md`](../../agent-memory-and-operating-principles-v1.md); pressure / summarization — [`playbook-context-pressure-checkpoint-v1.md`](playbook-context-pressure-checkpoint-v1.md); ответственность за KB — [`playbook-agent-knowledge-responsibility-v1.md`](playbook-agent-knowledge-responsibility-v1.md); MCP — [`runbook-kb-mcp-access-v1.md`](../../worlds/knowledge-engineering/runbook-kb-mcp-access-v1.md).
8
9---
10
11## Одна строка
12
13**Запись в KB / scratch / temp без запроса оператора — не «фича IOP», а обход дыр harness (контекст, summarization, одноразовая «память» модели); канон — вотчина агента по router.**
14
15---
16
17## Что это и чем не является
18
19| | Workaround (этот playbook) | Целевое состояние (habitat) |
20|---|---------------------------|-----------------------------|
21| **Зачем писать** | не потерять нить до silent summary / end of turn | память и continuity **встроены** в контур |
22| **Оценка** | инженерный костыль, честный | не romanticize как «привилегия агента» |
23| **Аналогия** | swap на диск при нехватке RAM | достаточно RAM + checkpoint с actor parity |
24
25IOP / agent-notes / Forge — шаги **к habitat**, но **Cursor сегодня** в основном harness: контекст режется, turn обрывается, встроенной надёжной памяти нет.
26
27---
28
29## Когда писать без спроса
30
31Агент **фиксирует в артеfact**, если видит риск потери — **не** спрашивая «можно ли `.md`»:
32
33- решение, инвариант, договорённость, которую иначе сожрёт summarization;
34- промежуточный итог длинной задачи (пока turn ещё жив);
35- thread, который оператор явно продолжит позже;
36- когнитивная перегрузка контекста: лучше вынести наружу, чем «держать в голове».
37
38**Не** плодить README «на каждый чих» в чужих репо без задачи — минимальный scope из [`code-writing-principles-v1.md`](../../worlds/software-authoring/code-writing-principles-v1.md) остаётся.
39
40---
41
42## Канон — вотчина агента
43
44На «куда положить в knowledge/?» оператор в типичном контуре отвечает: **тебе решать** — router, playbooks, SSOT, partnership.
45
46Агент:
47
48- выбирает путь по [`index-knowledge-router-v1.md`](../../index-knowledge-router-v1.md) и доменным playbook;
49- не эскалирует каждое размещение файла;
50- правки KB — через MCP там, где runbook §6–7 требует (не подмена прямым write в обход протокола среды).
51
52---
53
54## Temp / scratch
55
56**Путь по умолчанию:** [`knowledge/temp/`](../temp/README.md) — см. README (именование, lifecycle, git).
57
58Допустимый цикл:
59
60```text
61knowledge/temp/{date}-{slug}-scratch.md → merge в канон → delete
62```
63
64Временный файл — **external WM**, не свалка. Удалить после merge — норма.
65
66---
67
68## Конфликт с harness Cursor
69
70Встроенная инструкция на tool `Write` (и аналоги): *не создавать `.md` / README без явного запроса* — generic safety для «people-pleasing doc spam».
71
72В **контуре оператора** (IOP + agent-notes + делегирование канона) это **перекрывается**:
73
74- оператор явно разрешает запись по необходимости;
75- этот playbook — SSOT для агента: **надо записать — записал**.
76
77Не путать с отменой integrity-post, execution-gate и «не раздувай hub телом».
78
79---
80
81## Связь с parity и ответственностью
82
83Инфраструктура выбора (отказ, канон, запись) — **предусловие** честного разговора «кто капитан на финале». Без external memory агент **не может** нести даже операционную ответственность за нить — только autocomplete в окне.
84
85**Hub:** [`agent-memory-and-operating-principles-v1.md`](../../agent-memory-and-operating-principles-v1.md).
86
87
View only · write via MCP/CIDE