🎉 init: 小龙的工作空间

This commit is contained in:
大海
2026-06-06 10:40:48 +08:00
commit a188ee1426
3201 changed files with 231817 additions and 0 deletions
+826
View File
@@ -0,0 +1,826 @@
# 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,不用 REPLACESQLite 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→TSschema.ts 中 CONSTRAINT/FK 行不能被解析为 interface 字段
- □ Type mappingSQL 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 || default` where 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 Phase16 模块,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 jobsDream 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