Deep/shallow lens + deletion test. Append-per-run — newest run first.
gsd_lean.state__all__ of 30+ names forwarded verbatim from state.config, state.detector, state.planning; interface surface (the name list a reader must scan) exceeds implementation depth (none).cli/app.py (its single from gsd_lean.state import (...) block). Internal modules bypass the facade already — state/config.py and workflow/engine.py import from gsd_lean.state.planning directly, and the test suite imports submodules directly. Deleting the facade forces app.py to point its import block at .planning / .config instead: a mechanical edit, no logic reconcentrates. Complexity vanishes for the sole caller; all other code is unaffected because it never used the facade.__init__ re-export is a legitimate public-API idiom, but here it is used by exactly one caller and bypassed by internal modules and tests, so its value as an API boundary is unproven rather than clearly zero.gsd_lean.workflowworkflow.engine; no logic, interface = implementation ≈ 0.cli/app.py (from gsd_lean.workflow import PreconditionError and ... import transition as workflow_transition). tests/test_workflow.py already imports gsd_lean.workflow.engine directly, bypassing the facade. Deleting it forces app.py to import from gsd_lean.workflow.engine: trivial rename, no complexity migrates. Pass-through.Note: the two flagged facades are the same pattern (single-caller re-export bypassed internally). If acted on, treat them as one cleanup decision about whether the package public API is worth an explicit facade at all — not two independent refactors.