P0 Fix — Per-Job Context Isolation
Before — shared file race
Dispatch Job 1 → reads/writes .synlynk/context.md
Dispatch Job 2 → reads/writes .synlynk/context.md
Dispatch Job 3 → reads/writes .synlynk/context.md
After — in-memory per job
Job 1 → in-memory 412 bytes
Job 2 → in-memory 0 bytes (mode=none)
Job 3 → in-memory 1.8KB (task scope)
none — 0 bytes
task — ~400B slim
full — ~119KB