# 📐 L2 Spec — PALM / STORM (single-molecule localization microscopy) Mismatch-Only Spec
**ID:** `L2-011-001` · **Status:** ⊙ Testnet (genesis catalog)
**Parents:** ⬆ Principle [`L1-011`](/artifact/l1/L1-011)
> **🎯 Tolerance (ε):** expression
> **⚖ Difficulty score:** 0.45 · **Delta tier:** 5
> **⛓ On-chain block:** 41554158
---
## 1. Domain Ω
**Type:** `range`
| Parameter | Unit | Range |
|---|---|---|
| H | px | 64 – 2048 |
| W | px | 64 – 2048 |
| Na | — | 1.3 – 1.49 |
| T frames | — | 1000 – 100000 |
| Pixel nm | nm | 80 – 300 |
| Background bias | — | 10 – 500 |
| Blinking kinetics | — | 0.0 – 0.2 |
| Drift nm per frame | — | 0.0 – 5.0 |
| N emitters per frame | — | 5 – 500 |
| Photons per molecule | — | 500 – 20000 |
| Multi emitter overlap | — | 0.0 – 0.5 |
## 2. Tolerance (ε)
**Type:** `fn`
```
8.0 + 5.0 * log10(photons_per_molecule / 500) - 2.0 * log10(N_emitters_per_frame) - 2.0 * drift_nm_per_frame
```
## 3. Difficulty
| Property | Value |
|---|---|
| Difficulty score | 0.45 |
| Delta tier | 5 |
## 4. Fingerprint
`a7ff25ffbc1a0d0ad980a09fe0da77baec654f4c13d7bc884a53145b8d5730c1`
## 5. On-chain Registration
- **Chain hash:** `0xab6af06048e1ca5bb20571d3c94340e145656a90ac134c6027fa471517e97102`
- **Chain tx hash:** `0x5d0444b509f7d2818327afb8901271585036187c18de24ba50305ebdd9463230`
- **Chain block:** `41554158`
---
## File Mapping
This bundle consists of: `L2-011-001.md`, `L2-011-001.json`.
| File | Role | How to regenerate |
|------|------|-------------------|
| `L2-011-001.md` | Source of truth — edit this | Human or LLM |
| `L2-011-001.json` | Structured metadata for the registry | LLM regenerates from the sections above |
**Prompt for your LLM after editing this Markdown:**
> Read the attached Markdown. Regenerate the sibling `.json` so every field matches.
> Preserve the schema documented in the rows above.
> Output each file in its own fenced code block tagged with the filename.
> Output only the JSON object.
_This Markdown was auto-synthesized from the catalog row for `L2-011-001`._
_Edit it, regenerate the JSON, and submit at [/submit](/submit) to claim the artifact._