J-Zero is a self-improving language-model framework built from three co-evolving components — a Challenger that generates difficult tasks, a Solver that produces responses, and a Judge that evaluates them — enabling self-evolution across both verifiable and unverifiable domains via preference pairs whose ordering is known in advance, rather than external labels. The system outperforms baselines by 4.2-8.0 points and keeps improving across ten iterations.