Core session state shared across all lds modules.
Every module (git, recipe, sandbox) receives an Arc<Session> that
anchors operations to a single project root. Shared concerns — timeout,
output truncation, global recipe dirs — live here so modules don't
duplicate configuration.