The starting point is a challenge that circulated on LinkedIn: a @TaskLocal value, a withValue block, a Task, a Task.detached, and a question about which print lands first. It looks like a trivia question and turns into a demonstration of why the environment you experiment in shapes the answer you believe.
It sets out what @TaskLocal actually guarantees — a value scoped to a task and its children — derives the expected ordering from that, then runs the code in a Playground and gets a result that does not match. Re-running the same code under XCTest behaves differently again.
From there it digs into task priorities as the actual explanation, repeats the experiment at a lower priority, and lands on the practical point: a Playground is not a scheduler you should be drawing conclusions from.
Along the way it includes a second, simpler @TaskLocal example, separate from the puzzle itself, to establish what the property is actually meant to guarantee before the Playground result complicates the picture. The mismatch ends up being a lesson about the environment rather than about @TaskLocal: a Playground can look consistent and still not schedule the code the way an app or a test target does.