--- name: split-large-files description: Split assigned oversized files along cohesive responsibilities while preserving their public interface. disable-model-invocation: true metadata: relayview-display-name: Split large files relayview-version: 0.3.0 --- # Split large files Use only for the file or subsystem named by the Plan. Map its responsibilities, public interface, related tests, and the symbols that are commonly changed together. Propose a split only when descriptive file names would help a human locate those responsibilities more than the extra imports and cross-file hops would hurt locality. A line count alone is insufficient. For each proposed extraction, identify its responsibility, new path, moved symbols, import direction, circular-dependency risk, and the existing caller path. Keep cohesive behavior together. Avoid arbitrary line cuts, equal-size partitions, one-file-per-function layouts, and vague utility buckets. When the Plan authorizes implementation, preserve the existing public interface and import paths unless it explicitly calls for an interface change. Move the approved responsibilities, adjust callers and tests, and run focused verification. If the requested boundary is ambiguous, report the proposed map to the owner rather than expanding the assignment.