28 KiB
Learning Loop Refactor — Verification Log
Generated: 2026-06-05 22:51 CST Purpose: 逐条终端原始输出归档,避免仅剩"摘要表"
1. AGENTS.md §2b — Learning Context Injector (MANDATORY)
Command
sed -n '90,114p' /Users/a1234/.openclaw/workspace/AGENTS.md
Raw Output
2b. Learning Context Injector (MANDATORY — 3 searches)
Search 1: Similar failures
ctx_search(queries: ["<task_type> failure pattern lesson"], source: "reflections", sort: "timeline")
Search 2: Relevant best practices
memory_search(query: "<task_domain> best practice checklist pattern")
Search 3: Relevant playbook
Check playbooks/ for matching task type
Inject top findings into PLAN > Risks. Format:
### Injected Risks (from Learning Context)
- [R1] <lesson from past failure> — source: <reflection/pattern file>
- [R2] <relevant best practice violation> — source: best-practices.md #N
- [R3] <playbook recommendation> — source: playbooks/<name>.md
2. AGENTS.md §2c — 6 Domain Checklists
Command
sed -n '116,155p' /Users/a1234/.openclaw/workspace/AGENTS.md
Raw Output
Based on task type, append the relevant checklist to PLAN:
SQL / Schema tasks:
- □ FK 引用:所有 FK 用 ON CONFLICT DO UPDATE,不用 REPLACE(SQLite REPLACE = DELETE+INSERT)
- □ DDL 解析:PRIMARY KEY / CONSTRAINT 行不能当数据字段
- □ 迁移安全:先检查所有引用方,再改 schema
- □ WAL 模式:多进程读写不阻塞
JavaScript / TypeScript tasks:
- □ Falsy 陷阱:0、''、false 用
??替代||(|| 会把 0 判为 falsy) - □ 类型生成:entity names 复数→单数(Albums→Album),但不碰 status/bus 等词根
- □ 模板语法:模板字面量内嵌反引号用 ` 转义或字符串拼接
- □ 启发式检测:必须 2+ 信号同时匹配,单信号不可靠
Next.js / Frontend tasks:
- □ 路径:Next.js App Router 用
app/不是src/app/ - □ Tailwind content 路径匹配实际目录
- □ tsconfig paths 匹配实际目录结构
- □ JSX:三元表达式嵌套使用括号包裹,避免
{}嵌套错误
Backend / API tasks:
- □ generateTypes 必须包含 User 实体 → CreateUserInput 类型
- □ 所有 resource types 生成完整的 CRUD Input 类型
- □ route params 命名与 service 函数签名一致
Generator / Builder tasks:
- □ 输出路径:验证生成目录结构与实际 runtime 预期一致
- □ DDL→TS:schema.ts 中 CONSTRAINT/FK 行不能被解析为 interface 字段
- □ Type mapping:SQL types 到 TS types 的映射表完整
- □ Template safety:模板字面量不输出裸反引号
Release / CI tasks:
- □ Exit code 规范:PASS/WARN→0, FAIL→1
- □ 回退路径:每个 destructive 操作有对应回退步骤
- □ backward compat:新代码不改老接口
If no checklist matches, add:
- □ No domain-specific checklist available — proceed with extra caution
3. AGENTS.md §4 — MANDATORY GATE
Command
sed -n '194,207p' /Users/a1234/.openclaw/workspace/AGENTS.md
Raw Output
**MANDATORY GATE: Pre-flight Compliance Check**
Before closing any complex task, verify ALL of:
- [ ] PLAN contains `### Injected Risks (from Learning Context)` section
- [ ] At least 2 knowledge sources were searched (ctx_search / memory_search / playbooks)
- [ ] Matching domain checklist from §2c is included in PLAN
- [ ] If failure occurred: structured Reflection was written to `reflections/YYYY-MM-DD-<task>.md`
- [ ] Reflection contains ALL 7 required fields (Context/Root Cause/Fix/Pattern Class/Future Trigger/Checklist/Recurrence)
If ANY gate fails: **task is NOT complete**. Go back and fill the gap.
---
## 4. AGENTS.md §5 — T1-T7 Auto-Capture
### Command
sed -n '210,238p' /Users/a1234/.openclaw/workspace/AGENTS.md
### Raw Output
**ALWAYS check these conditions after fixing a failure. Write Reflection when ANY condition matches:**
| # | Trigger Condition | Why |
|---|------------------|-----|
| T1 | `build` command failed | Build failure always indicates systemic error |
| T2 | `test` command returned non-zero or unexpected failures | Test failure = regression risk |
| T3 | `lint` / `tsc --noEmit` failed | Syntax/type errors in generated code |
| T4 | Fix time > 30 minutes elapsed | Long fix = complex root cause worth documenting |
| T5 | Same error class appeared before (check ctx_search / Promotion Log) | Recurrence → must upgrade |
| T6 | Generated output path/format/structure mismatched target convention | E.g. `src/app/` vs `app/`, wrong SQL dialect, missing types |
| T7 | Generated content caused runtime crash or data corruption | Silent data corruption is highest severity |
**Skip reflection (not worth recording) when:**
- Fix < 5 min AND never seen before AND no test/build/lint failure
- Typo fix (single character, no logic change)
- Expected external service failure (network timeout, API rate limit)
**Reflection write checklist (ALL 7 fields REQUIRED):**
[ ] Context — what task was being performed [ ] Root Cause — the bug, not the symptom (banned: "以后注意", "下次小心") [ ] Fix — exact change, with code diff if applicable [ ] Pattern Class — abstract category (e.g. "SQLite FK", "JS Falsy Coercion", "Path Convention") [ ] Future Trigger — when to inject this lesson (e.g. "any SQL schema change") [ ] Checklist — ≥2 actionable checks for next time [ ] Recurrence Count — 1 (update on each recurrence)
---
---
## 5. AGENTS.md §3 — Auto-Capture + Promotion Check
### Command
sed -n '165,182p' /Users/a1234/.openclaw/workspace/AGENTS.md
### Raw Output
3. If local → fix, verify, continue
4. If structural → **REPLAN** — output a revised PLAN section
5. If same step fails 3 times → **PAUSE** and ask user
6. **Auto-Capture Check** (after fix, before continuing):
→ See complete trigger rules in §5 Auto-Capture Trigger (T1-T7)
→ If ANY trigger matches → write structured Reflection to `reflections/YYYY-MM-DD-<task>.md`
→ Reflection MUST contain ALL 7 required fields (Context/Root Cause/Fix/Pattern Class/Future Trigger/Checklist/Recurrence Count)
→ Skip only when: fix < 5 min + first occurrence + no test/build/lint failure
7. **Promotion Check** (after Reflection written):
| Appearances | Action | Destination |
|------------|--------|------------|
| 1st | Reflection | reflections/ |
| 2nd | Pattern | patterns/design-patterns.md (new section) |
| 3rd | Best Practice | patterns/best-practices.md (numbered entry) |
| 4th | Checklist Item | AGENTS.md §2c Domain Checklists |
| 5th | Hard Rule | AGENTS.md §2c (bolded, marked ⚠️ HARD RULE) |
---
## 6. AGENTS.md — Learning Loop §
### Command
sed -n '240,305p' /Users/a1234/.openclaw/workspace/AGENTS.md
### Raw Output
## Learning Loop 🔄
> Knowledge stored in reflections/patterns/playbooks MUST flow back into Planning.
> This section closes the loop.
### Loop Architecture
Failure/Success ↓ Reflection (structured, with Pattern Class) ↓ Promotion Check (1→2→3→4→5 appearances) ↓ Pattern → Best Practice → Checklist → Hard Rule ↓ Pre-flight Injector (§2b) + Domain Checklists (§2c) ↓ Next Plan includes past lessons ↓ Execution ↓ Verification → triggers new Reflection if needed ↓ (loop closes)
### Promotion Rules
| Count | Promotion To | Location |
|-------|-------------|----------|
| 1st | Reflection | `reflections/YYYY-MM-DD-<task>.md` |
| 2nd | Design Pattern | `patterns/design-patterns.md` (new Anti-Pattern section) |
| 3rd | Best Practice | `patterns/best-practices.md` (numbered entry) |
| 4th | Domain Checklist | AGENTS.md §2c (update matching checklist, or create new) |
| 5th | Hard Rule | AGENTS.md §2c (bolded, marked ⚠️ HARD RULE) |
### Quality Gate for Reflections
A valid Reflection MUST include ALL of:
- [ ] Context (what task)
- [ ] Root Cause (the bug, not the symptom)
- [ ] Fix (exact change)
- [ ] Pattern Class (abstract category)
- [ ] Future Trigger (when to re-inject)
- [ ] Checklist (actionable items)
- [ ] Recurrence Count
**Rejected:** "以后注意", "下次小心", "当时没想清楚", "应该多测试"
**Accepted:** "SQLite FK: REPLACE=DELETE+INSERT, use ON CONFLICT DO UPDATE"
### Storage Locations
reflections/ ← First occurrence of a failure pattern patterns/design-patterns ← Abstract reusable anti-patterns (≥2 occurrences) patterns/best-practices ← Validated rules (≥3 occurrences) AGENTS.md §2c ← Domain Checklists (≥4 occurrences) AGENTS.md §2c ⚠️ ← Hard Rules (≥5 occurrences)
playbooks/ ← Successful multi-step workflows (not failure-driven) vault.md §Self-Evolution ← History of promotions (timeline)
---
---
## 7. Reflection: falsy-coercion (full file)
### Command
cat /Users/a1234/.openclaw/workspace/reflections/2026-06-05-falsy-coercion.md
### Raw Output
Reflection: || vs ?? Falsy Coercion Bug
Date: 2026-06-05 | Severity: P1 | Recurrence: 2
Context
Cross-Agent Certification (PR-30) — Fleet score ranking. Using order[status] || 6 for certification ranking.
Root Cause
JavaScript || operator treats 0 as falsy. When order["healthy"] = 0, order["healthy"] || 6 evaluates to 6, pushing healthy agents to bottom of ranking instead of top. The certification result was reversed — healthy fleets got low scores.
Fix
Changed order[status] || 6 → order[status] ?? 6. Nullish coalescing (??) only triggers on null/undefined, not on 0.
Pattern Class
JS/TS Falsy Coercion Trap — || treats 0, "", false as falsy. Use ?? for numeric/boolean defaults.
Future Trigger
- Any JS/TS code writing numeric defaults
- Any ranking/scoring/ordering logic
- Any code with
value || defaultwhere value can legitimately be 0
Checklist
- Grep all
||in scoring/ranking/ordering code → replace with??if value can be 0 - For all numeric defaults:
||→?? - Add
||vs??check to JS/TS Domain Checklist
Recurrence Count
2 — previously hit in Agent Evolution FK index scoring (same pattern: count || 0 skipped real zeros)
### 7-field check
grep -c '^## Context|^## Root Cause|^## Fix|^## Pattern Class|^## Future Trigger|^## Checklist|^## Recurrence' /Users/a1234/.openclaw/workspace/reflections/2026-06-05-falsy-coercion.md
Result:
7
### Banned phrase check
grep -ic '以后注意|下次小心|当时没想清楚|应该多测试' /Users/a1234/.openclaw/workspace/reflections/2026-06-05-falsy-coercion.md; echo "(exit=$? ; 1=clean)"
Result:
0
exit=1
---
## 8. Reflection: nextjs-path (full file)
### Command
cat /Users/a1234/.openclaw/workspace/reflections/2026-06-05-nextjs-path.md
### Raw Output
Reflection: Next.js src/app/ vs app/ Path Convention
Date: 2026-06-05 | Severity: P0 | Recurrence: 1
Context
Domain Benchmark Suite v1 — frontend-builder-agent.mjs 生成的 Next.js 项目输出到 src/app/ 目录。10/10 项目 Build 失败(0/10 Build)。Next.js App Router 默认 pages directory 是 app/。
Root Cause
Frontend Builder Agent 的初始设计内嵌了错误的路径假设。模板代码输出到 src/app/,但 Next.js app/ router 不从 src/app/ 读取。Tailwind content 配置和 tsconfig paths 也指向了错误路径。
Fix
全局替换:
src/app/→app/- 更新 tsconfig paths 匹配
app/ - 更新 tailwind.config content 匹配
app/**/*.{ts,tsx}
Pattern Class
Path Convention Mismatch — Generator/Builders 有硬编码路径假设,与实际 runtime 的 convention 不一致。
Future Trigger
- Any Next.js project generation
- Any framework-specific builder agent creation
- Any path-dependent code generation
Checklist
- 验证生成器输出目录与目标框架的 default convention 一致
- 在生成器写完第一版后立即跑 build smoke test
- tsconfig paths 与 tailwind content 与 pages directory 三者一致性检查
Recurrence Count
1
### 7-field check
Result:
7
---
## 9. Reflection: ddl-leakage (full file)
### Command
cat /Users/a1234/.openclaw/workspace/reflections/2026-06-05-ddl-leakage.md
### Raw Output
Reflection: DDL CONSTRAINT Leakage into TypeScript Interfaces
Date: 2026-06-05 | Severity: P0 | Recurrence: 1
Context
Backend Builder Agent (SF-04) — schema.ts 生成时 DDL PRIMARY KEY / FOREIGN KEY / CONSTRAINT 行被当作数据列,泄露进 TypeScript interface 定义。
Example: "PRIMARY KEY (id)" → parsed as column PRIMARY with type KEY, FOREIGN KEY (user_id) REFERENCES users(id) → parsed as column FOREIGN etc.
Root Cause
DDL parser 没有区分 "column definition" 行和 "constraint" 行。CREATE TABLE 语句中的 CONSTRAINT 子句以特殊关键字开头(PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK),不应被解析为列定义。
Fix
Added isConstraintLine() check before parsing each line as a column. Lines starting with PRIMARY KEY, FOREIGN KEY, UNIQUE (, CHECK ( are skipped in column parsing.
Pattern Class
DDL-to-Code Mapping Error — SQL DDL 的多层结构(column/constraint/index)被扁平化为单一映射时丢失语义。
Future Trigger
- Any SQL schema → code generation
- Any DDL parser
- Any ORM code generator
Checklist
- DDL 解析器必须有 column / constraint / index 三层分离
- Constraint 行识别:PRIMARY KEY, FOREIGN KEY, UNIQUE (, CHECK (
- 生成后验证:interface 字段数 ≤ 表列数(不含约束行)
- 跑 benchmark 验证所有领域 schema 生成正确
Recurrence Count
1
### 7-field check
Result:
7
---
## 10. Reflection: jsx-template (full file)
### Command
cat /Users/a1234/.openclaw/workspace/reflections/2026-06-05-jsx-template.md
### Raw Output
Reflection: JSX Template Ternary Nesting Syntax Error
Date: 2026-06-05 | Severity: P0 | Recurrence: 1
Context
Frontend Builder Agent (SF-03) — fallback page 模板中的三元表达式产生了语法错误。模板生成代码如 {loading ? {<Spinner />} : {<div>No data</div>}}。
Root Cause
生成器模板中 JSX 三元表达式嵌套了多余的 {}。模板本身输出 { 字符,内嵌的 JSX 也带 { — 双层花括号导致 React 解析失败。
Incorrect output pattern: {condition ? {<JSX />} : {<AnotherJSX />}}
Correct: {condition ? <JSX /> : <AnotherJSX />} 或 {condition ? (<JSX />) : null}
Fix
Fixed template to not wrap JSX branches in extra {}. The outer {} (JSX expression) already handles one level; inner JSX elements don't get re-wrapped.
Pattern Class
Template Code Generation Syntax — 代码生成器的模板本身使用目标语言语法时,转义/嵌套层次需仔细处理。
Future Trigger
- Any code generator that outputs JSX/TSX
- Any template-based code generation
- Any string-template code with nested braces/quotes
Checklist
- 生成器模板验证:输出后立即
tsc --noEmit检查语法 - JSX 三元表达式:禁止
{cond ? {<X />} : {<Y />}}模式 - 模板中使用 ``` 或字符串拼接替代包含反引号的模板字面量
- Benchmark smoke test 覆盖所有生成项目的 build
Recurrence Count
1
### 7-field check
Result:
7
---
## 11. Old Reflection: 2026-06-03 (upgraded, head 30)
### Command
head -30 /Users/a1234/.openclaw/workspace/reflections/2026-06-03-agent-evolution.md
### Raw Output
Reflection: Agent Evolution Mode — 四阶段全流程
Date: 2026-06-03 | Severity: P0/P1 (multiple failures) | Recurrence: see individual patterns
Context
深度学习 ECC/Headroom/CodeGraph → 提取能力 → 增强 OpenClaw。4 Phase,16 模块,7,000 行,5h(预估 42.5h)。
Pattern Classes Extracted
PC-1: SQLite FK Constraint (P0) — Pattern Class: SQL FK/DELETE semantic
- Root Cause: INSERT OR REPLACE causes rowid change → FK breaks
- Fix: ON CONFLICT DO UPDATE preserves original rowid
- Future Trigger: any SQL schema modification, batch inserts with FK
PC-2: Heuristic False Positive (P1) — Pattern Class: single-signal detection
- Root Cause:
[2026-...prefix triggered JSON detection without valid parse - Fix: require 2+ signals (prefix + valid JSON.parse)
- Future Trigger: any heuristic/content-type detection logic
PC-3: Nested Structure Parsing (P1) — Pattern Class: protocol-level vs structural parsing
- Root Cause: parser relied on structured JSON nesting, failed on content arrays
- Fix: match "type":"tool_result" byte patterns instead of tree traversal
- Future Trigger: any nested data structure parsing
PC-4: Overly Aggressive Sampling (P2) — Pattern Class: lossy strategy without safety net
- Root Cause: TimeSeries strategy kept only anchor points (500→5), dropped errors
- Fix: include error/outlier detection alongside anchor selection
- Future Trigger: any sampling/compression strategy design
成功经验
### Pattern Class / Future Trigger / Recurrence count
Result:
10
---
## 12. Old Reflection: 2026-06-04 (upgraded, head 20)
### Command
head -20 /Users/a1234/.openclaw/workspace/reflections/2026-06-04-memory-audit.md
### Raw Output
Reflection: Memory System Full Audit
Date: 2026-06-04 | Severity: P0/P1/P2 mixed | Recurrence: 1
Context
记忆系统全量审计 + 全链路修复。6 维度扫描(文件/远程/版本/自动化/索引/寄存器),P0(5)→P1(5)→P2(4)。
Pattern Class: Infrastructure Drift
Root Cause: 脚本存在 ≠ 脚本在运行。Dream Cycle cron 从未配置,index.md 从未自动更新(15→75 条差距)。
Fix: 添加 3 个 cron jobs(Dream Cycle + Git push + Health check),session-compact.sh 加 pre-compact hook。
Future Trigger: any automated maintenance system, any cron-scheduled task, any script that "should run automatically"
Checklist:
- 新脚本添加后立即验证 cron/trigger 是否配置
- 定期检查 index/registers 的 freshness
- 引用即承诺——引用未创建的文件要么创建要么删引用
### Pattern Class / Future Trigger / Recurrence count
Result:
3
---
## 13. patterns/best-practices.md — full numbered entry list
### Command
grep -n '^[0-9]*.' /Users/a1234/.openclaw/workspace/patterns/best-practices.md
### Raw Output
11:1. 写完即测,不等集成 — 每个模块 run 一次确认输出正确
12:2. 边界用例覆盖 — 空输入、超大输入、非法输入都要测
13:3. 零依赖优先 — 核心算法不自带 npm 依赖(例外: better-sqlite3 等已安装的稳定库)
14:4. CLI + Library 双接口 — node module.js 和 require('./module') 都要能用
15:5. passthrough 是默认 — 任何操作失败时返回原始输入,不丢数据
19:6. Phase Isolation — 分析/设计/实现三阶段不交叉
20:7. 先 MVP 再扩展 — 1-3h 出第一个可用版本,验证后扩展
21:8. 策略可插拔 — 用分发模式,新增策略不碰核心逻辑
22:9. 降级路径明确 — 每个操作至少 2 条降级路径
23:10. 配置可覆盖 — 全局默认 → 项目覆盖 → 运行时参数
27:11. FK 约束用 ON CONFLICT DO UPDATE — SQLite 的 REPLACE = DELETE+INSERT
28:12. 检测需多重信号 — 启发式规则必须 2+ 个信号同时匹配
29:13. WAL 模式开 — 多进程读不阻塞写
30:14. 大文件分批处理 — 每 250 文件回收一次 WASM/内存
31:15. stderr 和 stdout 分离 — 元数据用 stderr,数据用 stdout
35:16. || vs ?? — 用 ?? 处理数字 0 — value || default 把 0/''/false 当 falsy。数字类用 value ?? default。已犯 2 次(Agent Evolution FK索引 + Cross-Agent Certification 评分排序)
36:17. 模板字面量反引号 — 模板内嵌反引号用 ` 转义或改用字符串拼接。不输出裸反引号到生成代码
37:18. 类型单数化 — entity 复数→单数(Albums→Album, Pets→Pet),但不碰 status/bus 等不可变词根
41:19. Next.js 路径:app/ 不是 src/app/ — Next.js App Router 默认 pages in app/。生成器必须输出到 app/ 目录
42:20. DDL CONSTRAINT 泄露 — schema.ts 生成时 PRIMARY KEY / FOREIGN KEY / CONSTRAINT 行不能被解析为 TS interface 字段
43:21. CreateInput 完整性 — generateTypes 必须包含所有实体(包括 User)→ CreateUserInput 不能缺失
44:22. JSX 三元嵌套 — {a ? {b} : {c}} 错误。改为 {a ? b : c} 或 {a ? (<Comp />) : null}
48:23. 子 agent 并行分析 — 3 个项目同时 spawn,2-3 分钟完成
49:24. 子 agent 用 Pro 模型 — 代码/方案决策用 DeepSeek V4 Pro
50:25. 任务描述要包含完整输出路径 — 子 agent 不需要父 agent 上下文也能工作
51:26. 用 sessions_yield 等完成 — 不 poll loop
55:27. Exit code 规范 — PASS/WARN→0, FAIL→1。不要 PASS 也 exit 1
56:28. 向后兼容 — 新增参数用 optional,不改既有函数签名。所有 PR 遵守零修改约束
60:29. 每完成一个 Phase 写 daily — 不等到全部做完
61:30. 提取模式后立即写 patterns/ — "mental notes 不存活"
62:31. MEMORY.md 尽量不动 — 在缓存线以上,每次改动全缓存爆炸
63:32. Reflection 必须结构化 — 含 Pattern Class + Future Trigger + Checklist,禁止"以后注意"
New sections proof
grep -n 'JavaScript.*TypeScript 陷阱\|Generator.*Builder 陷阱\|CI.*Release' /Users/a1234/.openclaw/workspace/patterns/best-practices.md
Result: 33:## JavaScript / TypeScript 陷阱 39:## Generator / Builder 陷阱 53:## CI / Release
14. patterns/design-patterns.md — Anti-Patterns
Command
grep -n 'Anti-Patterns\|AP-[123]' /Users/a1234/.openclaw/workspace/patterns/design-patterns.md
Raw Output
5:> 新增: Anti-Patterns (≥2 occurrences → promoted from reflections)
117:## Anti-Patterns (from failures, ≥2 occurrences)
119:### AP-1: Operator Coercion Trap (2 occurrences)
136:### AP-2: Generator Path Assumption (1 occurrence)
147:### AP-3: DDL Flat Mapping (1 occurrence)
### AP-1 full body
sed -n '119,138p' /Users/a1234/.openclaw/workspace/patterns/design-patterns.md
### Raw Output
AP-1: Operator Coercion Trap (2 occurrences)
问题: JavaScript || 把 0/""/false 当 falsy,导致排序/评分/计数逻辑出错
症状:
- 排序结果反转(healthy=0 排到最后)
- FK 索引计数字段被跳过
方案: 数值/布尔默认值用 ??(nullish coalescing),|| 仅用于字符串默认值。
Grep || in scoring/ranking code.
来源:
- 2026-06-03: Agent Evolution FK 索引
count || 0 - 2026-06-05: PR-30 Cross-Agent Certification
order[status] || 6
AP-2: Generator Path Assumption (1 occurrence)
问题: Builder/Generator 有硬编码路径假设(如 src/app/),与实际 framework convention 不一致
15. vault.md — Promotion Log + Learning Loop
Command
grep -n 'Learning Loop\|Promotion Log\|闭环\|1st→\|2nd→\|3rd→' /Users/a1234/.openclaw/workspace/memory/vault.md
Raw Output
142:### Learning Loop v1 (2026-06-05 建立)
144:闭环架构:
152:1st→Reflection 2nd→Anti-Pattern 3rd→Best Practice 4th→Domain Checklist 5th→Hard Rule
159:### Promotion Log (≥2 occurrences tracked)
### Promotion Log table
sed -n '/Promotion Log/,/已验证模式/p' /Users/a1234/.openclaw/workspace/memory/vault.md
### Raw Output
Promotion Log (≥2 occurrences tracked)
| Pattern Class | Count | Stage | Promoted To |
|---|---|---|---|
JS Falsy Coercion (|| vs ??) |
2 | Anti-Pattern | patterns/design-patterns.md §AP-1 |
| Generator Path Assumption | 1 | Reflection | reflections/2026-06-05-nextjs-path.md |
| DDL Flat Mapping | 1 | Reflection | reflections/2026-06-05-ddl-leakage.md |
| JSX Template Nesting | 1 | Reflection | reflections/2026-06-05-jsx-template.md |
已验证模式 (从 Agent Evolution 提取)
16. MEMORY.md — Learning Loop reference
Command
grep 'Learning Loop' /Users/a1234/.openclaw/workspace/MEMORY.md
Raw Output
具体技巧:注释写 WHY · Fast-Path 入口 · 错误三分类 · 目录即模块 · 失败快速 · Pre-flight Check · Failure Replanning · Learning Loop (2026-06-05)
---
## 17. Reflections directory listing
### Command
ls -la /Users/a1234/.openclaw/workspace/reflections/
### Raw Output
total 56 drwx------ 8 a1234 staff 256 Jun 5 22:37 . drwx------ 62 a1234 staff 1984 Jun 5 22:05 .. -rw------- 1 a1234 staff 5304 Jun 5 22:41 2026-06-03-agent-evolution.md -rw------- 1 a1234 staff 2630 Jun 5 22:41 2026-06-04-memory-audit.md -rw------- 1 a1234 staff 1432 Jun 5 22:37 2026-06-05-ddl-leakage.md -rw------- 1 a1234 staff 1258 Jun 5 22:36 2026-06-05-falsy-coercion.md -rw------- 1 a1234 staff 1436 Jun 5 22:37 2026-06-05-jsx-template.md -rw------- 1 a1234 staff 1265 Jun 5 22:36 2026-06-05-nextjs-path.md
18. Cross-file consistency: vault Promotion Log ↔ design-patterns AP counts
vault says about AP-1
grep -A1 'JS Falsy Coercion' /Users/a1234/.openclaw/workspace/memory/vault.md | head -2
Result:
| JS Falsy Coercion (\|\| vs ??) | 2 | Anti-Pattern | patterns/design-patterns.md §AP-1 |
| Generator Path Assumption | 1 | Reflection | reflections/2026-06-05-nextjs-path.md |
design-patterns says about AP-1
grep 'AP-1.*occurrences' /Users/a1234/.openclaw/workspace/patterns/design-patterns.md
Result:
AP-1: Operator Coercion Trap (2 occurrences)
vault says about Path Assumption
grep -A1 'Generator Path' /Users/a1234/.openclaw/workspace/memory/vault.md
Result: | Generator Path Assumption | 1 | Reflection | reflections/2026-06-05-nextjs-path.md | | DDL Flat Mapping | 1 | Reflection | reflections/2026-06-05-ddl-leakage.md |
design-patterns says about AP-2
grep 'AP-2.*occurrence' /Users/a1234/.openclaw/workspace/patterns/design-patterns.md
Result:
AP-2: Generator Path Assumption (1 occurrence)
19. 4 new reflections — aggregate 7-field + banned check
Command
for f in /Users/a1234/.openclaw/workspace/reflections/2026-06-05-*.md; do
name=$(basename "$f")
fields=$(grep -c '^## Context\|^## Root Cause\|^## Fix\|^## Pattern Class\|^## Future Trigger\|^## Checklist\|^## Recurrence' "$f")
banned=$(grep -ic '以后注意\|下次小心\|当时没想清楚\|应该多测试' "$f" || echo 0)
echo "$name: fields=$fields/7 banned=$banned"
done
Raw Output
2026-06-05-ddl-leakage.md: fields=7/7 banned=0
0
2026-06-05-falsy-coercion.md: fields=7/7 banned=0
0
2026-06-05-jsx-template.md: fields=7/7 banned=0
0
2026-06-05-nextjs-path.md: fields=7/7 banned=0
0
---
## 20. AGENTS.md section structure (numbering integrity)
### Command
grep -n '^###|^##' /Users/a1234/.openclaw/workspace/AGENTS.md | head -35
### Raw Output
5:## Cache Stability ⚡ 12:## Session Startup 18:## Execution Protocol — Planning Layer 🔵 24:### 0. Complexity Classification (MUST run first) 52:### 1. Planning Protocol (Complex Tasks ONLY) 57:## PLAN 58:### Goal 61:### Subtasks 66:### Risks 70:### Verification Strategy 78:### 2. Pre-flight Check (Complex Tasks ONLY) 82:#### 2a. Dependency Scan 90:#### 2b. Learning Context Injector (MANDATORY — 3 searches) 109:### Injected Risks (from Learning Context) 115:#### 2c. Domain Checklist Injection 156:### 3. Failure Replanning Protocol 183:### 4. Verification Protocol (Complex Tasks ONLY) 188:## VERIFICATION 208:### 5. Auto-Capture Trigger — COMPLETE Rule Set (after ANY failure) 240:## Learning Loop 🔄 245:### Loop Architecture 267:### Promotion Rules 277:### Quality Gate for Reflections 291:### Storage Locations 306:## Memory 314:## Red Lines 322:## External vs Internal 327:## Group Chats 335:## Security Baseline 🔒 344:## Heartbeats
END OF VERIFICATION LOG
- Total checks: 20
- Files verified: AGENTS.md, patterns/best-practices.md, patterns/design-patterns.md, memory/vault.md, MEMORY.md
- Reflections: 2026-06-05-falsy-coercion.md, 2026-06-05-nextjs-path.md, 2026-06-05-ddl-leakage.md, 2026-06-05-jsx-template.md
- Old reflections upgraded: 2026-06-03-agent-evolution.md, 2026-06-04-memory-audit.md
- Cross-file consistency: vault Promotion Log ↔ design-patterns AP counts — MATCH
- All 4 new reflections: 7/7 required fields, 0 banned phrases
- ARCHIVED for future audit traceability