diff --git a/.planning/phases/07-research-agent-search/07-CONTEXT.md b/.planning/phases/07-research-agent-search/07-CONTEXT.md
new file mode 100644
index 0000000..34d6a94
--- /dev/null
+++ b/.planning/phases/07-research-agent-search/07-CONTEXT.md
@@ -0,0 +1,70 @@
+# Phase 7: Research Agent & Search - Context
+
+**Gathered:** 2026-04-10
+**Status:** Ready for planning
+**Mode:** Auto-generated (autonomous mode)
+
+
+## Phase Boundary
+
+Items flagged needs_research are automatically enriched by a SearXNG research agent, and any inventory question can be answered via natural language search. This phase delivers the SearXNG Tier 2 client, research agent that consumes needs_research items, and natural language search endpoint.
+
+
+
+
+## Implementation Decisions
+
+### SearXNG Client
+- HTTP client to SearXNG JSON API at http://10.5.0.129:8080/search
+- Sanitize queries before dispatch
+- Return list of result objects (title, url, snippet)
+
+### Research Agent
+- Background worker that polls NetBox for catalog_status=needs_research items
+- For each item: query SearXNG for product info, send results to Tier 2 LLM, extract structured data
+- Update NetBox device with enriched data, set catalog_status=researched
+- Run periodically (every 10 minutes) or on-demand via POST /api/research/trigger
+
+### Natural Language Search
+- Endpoint: GET /api/search?q=...
+- Use Tier 1 (Gemma 4) to translate query to NetBox filter params
+- Return matching devices
+
+### Frontend
+- Search bar in dashboard top
+- Results page reuses dashboard cards
+
+
+
+
+## Existing Code Insights
+
+### Reusable Assets from prior phases
+- internal/ai/ — AIClient, TierClient, orchestrator
+- internal/ai/research.go — ResearchClient interface (NoOp from Phase 2)
+- internal/netbox/client.go — ListDevices, GetDevice, PatchCustomFields
+- internal/inventory/quality_gate.go + catalog_updater.go
+- internal/api/router.go
+- web/src/lib/api.ts
+
+### Integration Points
+- Replace NoOpResearchClient with real SearXNGResearchClient
+- Add internal/research/ package
+- Add internal/api/handlers/search.go
+- Frontend: dashboard search bar wires GET /api/search
+
+
+
+## Specific Ideas
+
+- SearXNG client uses standard net/http
+- Research agent runs as goroutine started from main.go
+- Search endpoint translates "show me free 10GbE NICs" to filter: category=NIC, status=available, tags has 10gbe
+
+
+
+## Deferred Ideas
+
+- Saved searches
+- Search history
+