Summary #
startup.lua now eagerly requires cursed.file_manager at module top, which may create a circular dependency chain.
The Problem #
In src/cursed/startup.lua lines 11-12, local file_manager_mod = require("cursed.file_manager") is now a top-level require instead of inline. cursed.file_manager likely depends on cursed.major_mode, cursed.view, cursed.buffer, etc. Those are loaded before this require in main.lua, but if cursed.file_manager indirectly requires any module that itself requires cursed.startup, a circular require would fail or produce nil values.
Impact #
- category: maintainability
- description: eager require of cursed.file_manager in startup.lua may introduce circular dependency chain at module load time
Recommended Fix #
Keep the require lazy (inside the function body) to avoid any risk of circular dependency at load time.
Commit range: c022da8..c022da8
Code Review: CR-2026-07-27-11