Envoy v1.0.3 — Find Jobs Overhaul + Bug Audit Fixes
Major Changes
Find Jobs — Complete Overhaul
- Expanded from 5 to 80+ companies across 6 ATS platforms (Greenhouse, Lever, Ashby, Workable, Recruitee, SmartRecruiters)
- New SmartRecruiters source with pagination (up to 1000 jobs per company)
- Auto-discovery: type any company name, Envoy probes all 6 ATS platforms to find their public job board
- Board management: add/remove companies from the UI, persisted to %LOCALAPPDATA%\Envoy\seed-boards.json
- 5-minute in-memory cache for board API responses
- Sort results by newest, ghost score, or company name
- ATS-aware Brave web search (augments queries with site: operators for known ATS domains)
- Fixed location filter bug (|| "remote" clause flooded every search with unrelated remote jobs)
Bug Audit Fixes (103 findings scanned, CRITICALs fixed)
- CdpBrowserService: await old receive loop before starting new one (prevents concurrent WebSocket reads)
- DI lifetime: repositories and orchestrator changed from scoped to singleton (all use IDbContextFactory — no captive DbContext)
- ApplicationOrchestrator: CancellationToken.None in finally blocks for cleanup on cancel
- ApplyView: safe cast inside try/catch to prevent NRE escaping async void
- All Run.Text bindings across all XAML files now use Mode=OneWay (prevents XamlParseException crash on read-only properties)
AI Rewrite Pipeline — Verified Correct
- Full pipeline audit: UI -> Orchestrator -> TailoringEngine -> OllamaService -> LLM Provider -> SafetyService -> Result
- Wiring is correct end-to-end
- SafetyService properly normalizes null collections from LLM JSON
- User's selected LLM model is correctly passed through the provider chain
Signed Build
- Both Envoy.exe and the installer are signed with the LXBSTUDIO LLC code signing certificate
- SHA256 checksums in SHA256SUMS.txt
Test Results
- 135 tests passed (57 Core + 61 GhostDetection + 17 Discovery)