<!--
  Title: Miniforge.ai
  Author: Christopher Lester (christopher@miniforge.ai)
  Copyright 2025-2026 Christopher Lester. Licensed under Apache 2.0.
-->
# fix: [210] Nil-safe map access compliance pass

**Branch:** `fix/compliance-210-nil-safe-map-access`
**Date:** 2026-04-10

---

```yaml
generated-by: miniforge-compliance-scanner
rule-id: 210
rule-title: "Nil-safe map access"
fix-type: mechanical
violations-fixed: 9
files-changed: 7
date: 2026-04-10
```

---

## Summary

Automated compliance pass applying mechanical fixes for **Nil-safe map access** (Dewey 210).
9 violations fixed across 7 files.

## Files Changed

| File | Line | Current | Suggested |
|------|------|---------|-----------|
| `components/dag-executor/src/ai/miniforge/dag_executor/protocols/impl/kubernetes.clj` | 367 | `(or (:workdir opts) "/workspace")` | `(get opts :workdir "/workspace")` |
| `components/dag-executor/src/ai/miniforge/dag_executor/protocols/impl/kubernetes.clj` | 372 | `(or (:workdir opts) "/workspace")` | `(get opts :workdir "/workspace")` |
| `bases/cli/src/ai/miniforge/cli/main/commands/init.clj` | 43 | `(or (:git-host analysis) "unknown")` | `(get analysis :git-host "unknown")` |
| `components/tool/src/ai/miniforge/tool/core.clj` | 195 | `(or (:name info) "")` | `(get info :name "")` |
| `components/tool/src/ai/miniforge/tool/core.clj` | 196 | `(or (:description info) "")` | `(get info :description "")` |
| `components/workflow/src/ai/miniforge/workflow/runner.clj` | 581 | `(or (:worktree-path opts) "/workspace")` | `(get opts :worktree-path "/workspace")` |
| `components/dag-executor/src/ai/miniforge/dag_executor/protocols/impl/docker.clj` | 518 | `(or (:branch env-config) "main")` | `(get env-config :branch "main")` |
| `bases/cli/src/ai/miniforge/cli/workflow_runner.clj` | 347 | `(or (:execution-mode opts) :local)` | `(get opts :execution-mode :local)` |
| `components/compliance-scanner/src/ai/miniforge/compliance_scanner/classify.clj` | 93 | `(or (:timeout m) 5000)` | `(get m :timeout 5000)` |

## Verification

- Re-run `bb miniforge run docs/compliance/miniforge-scan.md` to confirm zero violations for this rule
- All fixes are mechanical — no semantic changes

---
*Auto-generated by the Miniforge compliance scanner.*
