Learning-path generation now builds an ordered skill outline first, then generates each skill's chapters concurrently while resolving shared skill identities. The generated path retains the learner's intended outcome, starting point, teaching decisions and supported market references without creating lessons or changing mastery records.
The backend saves canonical skill identities, the immutable outline, its conversation card, usage metadata and allowance outcome in one fenced transaction. Failed or expired work cannot publish a partial path or leak learner context into shared skill records, and retries return the original saved result.