session-memory: Read-before-Edit reflex + curated pattern (WP-0008)

Acts on the #1 friction finding. T01: added a data-cited Read-before-Edit /
re-read-on-stale reflex to AGENTS.md (top error: 'File has not been read yet',
12/27 sessions). T02: captured it as a curated SolutionPattern
(sp-problem-file_not_read-edit, approved/distribution_ready) with real
resolutions + per-flavor hints, so Distribute proposes it across repos/flavors —
closing assess->curate->distribute on a real pattern. Suite 126/126.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 15:27:22 +02:00
parent 59632e94db
commit 035c7a20d3
4 changed files with 82 additions and 4 deletions

View File

@@ -34,6 +34,18 @@ green), and for pipeline changes do a live `ingest → detect → curate` pass a
the local store. See `session_memory/README.md` for the full layout and the the local store. See `session_memory/README.md` for the full layout and the
detect → curate → distribute flow. detect → curate → distribute flow.
### Editing files — Read before you Edit
**Read a file (or the region you'll touch) before Edit/Write.** The most common
error across our own captured coding sessions was *"File has not been read yet.
Read it first before writing to it"* — 12 of 27 real sessions, 8 repos
(`docs/ASSESSMENT-infra-friction.md`). Two cheap reflexes eliminate it:
- **Read → then Edit/Write.** Don't blind-write a file you haven't read this
session; the edit tools reject it and the retry wastes a turn.
- **On `File has been modified since read`, re-Read then re-Edit.** A stale read
means the file changed under you — refresh before retrying, don't loop.
--- ---
## State Hub Integration ## State Hub Integration

View File

@@ -0,0 +1,58 @@
{
"created_at": "2026-06-07T13:26:25Z",
"distribution_ready": true,
"id": "sp-problem-file_not_read-edit",
"name": "Read before you Edit",
"polarity": "problem",
"problem": "Agents call Edit/Write on a file they have not read in the current session, or after it changed under them. The edit tools reject this ('File has not been read yet' / 'File has been modified since read'), and the retry burns a turn. Top recurring error in the corpus (12/27 sessions, 8 repos).",
"provenance": {
"detected_at": null,
"evidence": {
"frequency": 32,
"origin": "AGENTIC-WP-0006 error mining / ASSESSMENT-infra-friction.md",
"polarity": "problem",
"repos": 8,
"sessions": 12
},
"promoted_at": null,
"source_key": "problem:file_not_read:edit"
},
"rendering_hints": {
"claude": {
"target": "CLAUDE.md"
},
"codex": {
"target": "AGENTS.md"
},
"grok": {
"target": ".grok/instructions.md"
}
},
"resolutions": [
{
"detail": "Never blind-write a file you haven't read this session.",
"steps": [
"Read the target file",
"Then Edit/Write"
],
"summary": "Read the file (or the region you'll touch) before Edit/Write"
},
{
"detail": "A stale read means the file changed under you; refresh, don't loop.",
"steps": [
"Re-Read the file",
"Re-apply the Edit"
],
"summary": "On 'modified since read', re-Read then re-Edit"
}
],
"schema_version": 1,
"scope": {
"domains": [],
"flavors": [],
"repos": []
},
"status": "approved",
"updated_at": "2026-06-07T13:26:25Z",
"version": "1.0.0"
}

View File

@@ -1,4 +1,12 @@
[ [
{
"flavor": "claude",
"pattern_id": "sp-problem-file_not_read-edit",
"repo": "agentic-resources",
"status": "proposed",
"updated_at": "2026-06-07T13:26:26Z",
"version": "1.0.0"
},
{ {
"flavor": "claude", "flavor": "claude",
"pattern_id": "sp-problem-schema_thrash-schema_load", "pattern_id": "sp-problem-schema_thrash-schema_load",
@@ -20,7 +28,7 @@
"pattern_id": "sp-success-clean_pass-outcome", "pattern_id": "sp-success-clean_pass-outcome",
"repo": "agentic-resources", "repo": "agentic-resources",
"status": "proposed", "status": "proposed",
"updated_at": "2026-06-07T13:20:58Z", "updated_at": "2026-06-07T13:26:26Z",
"version": "1.0.0" "version": "1.0.0"
}, },
{ {

View File

@@ -4,7 +4,7 @@ type: workplan
title: "Act on #1 friction — Read-before-Edit reflex" title: "Act on #1 friction — Read-before-Edit reflex"
domain: helix_forge domain: helix_forge
repo: agentic-resources repo: agentic-resources
status: ready status: finished
owner: codex owner: codex
topic_slug: helix-forge topic_slug: helix-forge
created: "2026-06-07" created: "2026-06-07"
@@ -30,7 +30,7 @@ closing the assess → curate → distribute loop by hand for one real pattern.
```task ```task
id: AGENTIC-WP-0008-T01 id: AGENTIC-WP-0008-T01
status: todo status: done
priority: high priority: high
state_hub_task_id: "549c84c1-5bd8-4ff6-b61d-1c72946b8b8e" state_hub_task_id: "549c84c1-5bd8-4ff6-b61d-1c72946b8b8e"
``` ```
@@ -44,7 +44,7 @@ context budgets).
```task ```task
id: AGENTIC-WP-0008-T02 id: AGENTIC-WP-0008-T02
status: todo status: done
priority: medium priority: medium
state_hub_task_id: "c007baf9-db14-40fa-b944-d1f1a71ea28b" state_hub_task_id: "c007baf9-db14-40fa-b944-d1f1a71ea28b"
``` ```