Direct channel: 98% submission success rate (48/49 applications)
Unknown success rate, no systematic measurement -> Direct 98% (48/49), Greenhouse 100% (10/10), combined 69% (58/84, LinkedIn 0% dragging average)

Changelog
| Date | Summary |
|---|---|
| 2026-04-07 | Created during temporal gap audit |
| 2026-03-10 | First measurement |
Context
Before this run, jobs-apply was submitting, but nobody knew how often submissions actually completed. The dashboard showed “started” counts, not “succeeded” counts. That gap is the entire question: a tool that starts 100 applications and finishes 5 is a toy, while one that starts 50 and finishes 49 is infrastructure. I had a suspicion that the Direct adapter was doing most of the real work and LinkedIn was eating most of the attempts. I needed numbers before I could plan the next week of work. Without a measured success rate, every improvement felt the same size. With one, the biggest lever becomes obvious in an afternoon.
What Changed
I instrumented per-attempt outcomes end-to-end: every application now records whether the submit button actually landed a confirmation page, whether the form filled cleanly, and whether the AI match gate accepted the role. Four changes carried the Direct adapter over 95% success. First, a Fortune 500 seed list gave the adapter a high-signal pool of target companies with well-structured careers pages. Second, ATS domain blocking stopped the adapter from following a Direct link that bounced into a third-party ATS, which historically caused a double-submission failure mode. Third, non-job URL filtering killed the time wasted on press releases and landing pages that had looked like job listings to an overly-generous classifier. Fourth, form fill improvements handled the Workday-style multi-page forms that previously timed out.
Impact
Direct hit 98% (48 of 49). Greenhouse hit 100% (10 of 10). Combined success across all channels was 69% (58 of 84) because LinkedIn was sitting at 0% with 25 attempts against stale postings. This was the first quantified measurement of the engine. The 98% Direct rate proved the core pipeline worked end to end. The 0% LinkedIn rate identified that the remaining challenge was platform-specific, not architectural. That distinction (the engine works, LinkedIn is the problem) focused the next three weeks of iteration exclusively on LinkedIn-specific fixes: shadow DOM handling, hydration waits, state pattern detection, and the Run 9 fix suite. Without measurement, all four channels would have been getting equal attention they did not equally deserve.
Source
experiments/jobs-apply/2026-03-09-four-opus-sub-agent-orchestration