# Phase 21: Universal Write Path ouroboros_mode - Context

**Gathered:** 2026-03-27
**Status:** Ready for planning
**Mode:** Auto-generated (infrastructure phase)

<domain>
## Phase Boundary

Every store_bars_batch/store_bars_bulk call site passes explicit ouroboros_mode — zero global fallback for crypto symbols. GitHub Issue #311.

</domain>

<decisions>
## Implementation Decisions

### Claude's Discretion

All implementation choices are at Claude's discretion. A4 audit identified 4 remaining files: backfill.py (3 sites), dead_letter.py (1 site), count_bounded.py (2 sites). Fix pattern: use per-symbol registry lookup.

</decisions>

<code_context>

## Existing Code Insights

Codebase context will be gathered during plan-phase research.

</code_context>

<specifics>
## Specific Ideas

From A4 audit: backfill_gap() has no ouroboros_mode parameter at all. dead_letter replay doesn't capture original mode. count_bounded doesn't thread mode through.

</specifics>

<deferred>
## Deferred Ideas

None.

</deferred>
