0de02bb3a7
After a freestyle plan compiles successfully, requestPlanApproval is invoked before ExecutionPlanLockedEvent is emitted. Rejection emits ExecutionPlanRejectedEvent(source="operator") with no lock and no phase-2 run. Adds public SessionOrchestrator.requestPlanApproval seam delegating to requestStageApproval, wired in Main.kt. Two new tests cover the reject and approve paths; existing tests stay green via the default passthrough param.