<system-reminder>
As you answer the user's questions, you can use the following context:
# claudeMd
Codebase and user instructions are shown below. Be sure to adhere to these instructions. IMPORTANT: These instructions OVERRIDE any default behavior and you MUST follow them exactly as written.

Contents of /Users/robpumpa/Documents/personal/weatherman/CLAUDE.md (project instructions, checked into the codebase):

# Weatherman CLI

Workspace with two binaries: `weatherman` (main CLI) and `generate-report` (benchmarks).

```bash
# Discover weather markets by keyword
cargo run --bin weatherman -- markets search "Paris"

# Inspect a market (by ID or slug) — shows tokens, order book, and config snippet
cargo run --bin weatherman -- markets inspect 1506324

# Run paper trading (market metadata auto-resolved from IDs)
cargo run --bin weatherman -- run -c config.toml

# Show current positions / P&L
cargo run --bin weatherman -- positions
cargo run --bin weatherman -- report

# Generate benchmark report
cargo run --bin generate-report
```

# currentDate
Today's date is 2026-03-09.

      IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.
</system-reminder>

You are implementing Pre-flight Task: Fix Debug vs Display formatting in session.rs

## Task Description

The `orders` table has `CHECK(side IN ('buy', 'sell'))` and `CHECK(tif IN ('GTC', 'GTD', 'FOK'))`. Session.rs currently uses `format!("{:?}", ...)` (Debug) which produces `"Buy"/"Sell"` and `"Gtc"/"Fok"` — these violate the CHECK constraints and silently fail every insert. This MUST be fixed before Phase 3 since we're removing the old position tracking path.

**Files:**
- Modify: `.worktrees/inventory-manager/crates/weatherman/src/session.rs` (lines 262, 265, 380, 415, 451)

**Step 1: Fix all `format!("{:?}", ...)` call sites for side/tif in session.rs**

Change these lines:

```rust
// Line 262: order.side in insert_order
&format!("{:?}", order.side),   →   &order.side.to_string(),

// Line 265: order.tif in insert_order
&format!("{:?}", order.tif),    →   &order.tif.to_string(),

// Line 380: fill.side in insert_fill
&format!("{:?}", fill.side),    →   &fill.side.to_string(),

// Line 415: pos.side in upsert_position
&format!("{:?}", pos.side),     →   &pos.side.to_string(),

// Line 451: fill.side in DecisionSnapshotRecord
intent_side: format!("{:?}", fill.side),   →   intent_side: fill.side.to_string(),
```

**Step 2: Run tests**

Run: `cargo test -p weatherman --lib`
Expected: PASS

**Step 3: Commit**

```
git add crates/weatherman/src/session.rs
git commit -m "fix: use Display instead of Debug for side/tif in DB writes"
```

## Context

This is the first task in the Inventory Manager Phase 3 & 4 plan. It's a pre-flight fix — the Debug formatting bug must be fixed before we remove the old position tracking path in later tasks. The worktree is at `/Users/robpumpa/Documents/personal/weatherman/.worktrees/inventory-manager/` on branch `feature/inventory-manager`.

## Before You Begin

If you have questions about the requirements, approach, or anything unclear — ask now.

## Your Job

1. Implement exactly what the task specifies
2. Run tests to verify
3. Commit your work
4. Self-review
5. Report back

Work from: `/Users/robpumpa/Documents/personal/weatherman/.worktrees/inventory-manager/`

## Before Reporting Back: Self-Review

Review your work. Check: Did I change all 5 call sites? Are there any other `format!("{:?}", ...)` for side/tif I missed? Do all tests pass?

## Report Format

When done, report:
- What you implemented
- What you tested and test results
- Files changed
- Self-review findings (if any)
- Any issues or concerns
