Implement Prototype(lines []string) (Settings,error) as direct parsing then validation; Solve should separate parsing and domain validation into small private helpers. Defaults Workers=1,TimeoutMS=1000. Each line must be exactly workers=<decimal> or timeout_ms=<decimal>; no spaces, empty lines, extra =, unknown keys or duplicate keys. Numeric spelling is optional leading minus followed by one or more ASCII digits (no plus); leading zeros allowed. Workers must be 1..64; TimeoutMS 0..60000. Invalid syntax/domain returns nonnil error and zero Settings. No retained state, no partial defaults returned on error. Preserve lines. Empty input returns defaults. The exact public functions stay in package main for the executable harness; private helpers remain unexported.
Edit exercise.go; retain the public types and signatures. prototype and final are separate stages. The executable tests recover panics as failures, report named checks, and exit nonzero on any failure. A successful run must execute at least one check. Tests use logical time or explicit synchronization where relevant.
Complete the starter code, then run the checks.
Results and errors will appear here.