fable-agent/docs/receipts/memory-b-cell-20260621.md

33 lines
1.5 KiB
Markdown

# Memory B Cell Pattern Cache Receipt — 2026-06-21
## Result
```text
PASS memory B cell cache proof
PASS receipt consumer health proof
```
## Proof commands
```bash
node dist/index.js fable5 memory-b-cell TEMP/memory-b-cell-proof/safe.ts --cache .fable/memory-b-cell-proof.json
node dist/index.js fable5 memory-b-cell TEMP/memory-b-cell-proof/safe.ts --cache .fable/memory-b-cell-proof.json
node dist/index.js fable5 memory-b-cell TEMP/memory-b-cell-proof/unsafe.ts --cache .fable/memory-b-cell-proof.json
node dist/index.js fable5 memory-b-cell TEMP/memory-b-cell-proof/unsafe.ts --cache .fable/memory-b-cell-proof.json
node dist/index.js fable5 receipt-health --root .fable --window-minutes 10080
```
## Observed behavior
| Encounter | Pattern | Verdict | Evidence |
|---|---|---|---|
| First encounter | clean TypeScript export | `known_safe` | full AST scan, `decision=allow` |
| Repeat encounter | same clean code | `known_safe` | `cache_hit` |
| First encounter | `node:child_process` / `execSync` | `known_unsafe` | full AST scan, `shell_exec=true`, `decision=review` |
| Repeat encounter | same subprocess pattern | `known_unsafe` | `cache_hit` |
| Homeostasis | `.fable` receipt freshness | `healthy` | 50 receipts, newest inside window |
## Boundary
Memory B cell cache accelerates repeat pattern recognition. It does **not** replace deploy proof. Guarded deploy decisions still require receipts and use `8099/deploy via git-proxy`; `8098 deploy-webhook` remains legacy/stale for fable-agent deploy decisions.