/**
 * Outbound adapter for writing the target file copy.
 * <p>
 * Components:
 * <ul>
 *   <li>{@link de.gecheckt.pdf.umbenenner.adapter.out.targetcopy.FilesystemTargetFileCopyAdapter}
 *       — Filesystem-based implementation of
 *       {@link de.gecheckt.pdf.umbenenner.application.port.out.TargetFileCopyPort}.</li>
 * </ul>
 * <p>
 * The adapter uses a two-step write pattern: the source is first copied to a temporary
 * file ({@code resolvedFilename + ".tmp"}) in the target folder, then renamed/moved to
 * the final filename. An atomic move is attempted first; a standard move is used as a
 * fallback when the filesystem does not support atomic cross-directory moves.
 * <p>
 * <strong>Source integrity:</strong> The source file is never modified, moved, or deleted.
 * Only a copy is created in the target folder.
 * <p>
 * <strong>Architecture boundary:</strong> All NIO ({@code Path}, {@code Files}) operations
 * are strictly confined to this package. The port interface
 * {@link de.gecheckt.pdf.umbenenner.application.port.out.TargetFileCopyPort} contains no
 * filesystem types, preserving the hexagonal architecture boundary.
 */
package de.gecheckt.pdf.umbenenner.adapter.out.targetcopy;
