diff --git a/Benchmarks/PortForwarding/main.swift b/Benchmarks/PortForwarding/main.swift
index 1b3dca1c..708fffc7 100644
--- a/Benchmarks/PortForwarding/main.swift
+++ b/Benchmarks/PortForwarding/main.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import TermindApplication
diff --git a/FrameworkTests/AISettingsIntegrationTests.swift b/FrameworkTests/AISettingsIntegrationTests.swift
index a22d94ae..c7aa3490 100644
--- a/FrameworkTests/AISettingsIntegrationTests.swift
+++ b/FrameworkTests/AISettingsIntegrationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/AgentReplayPersistenceTests.swift b/FrameworkTests/AgentReplayPersistenceTests.swift
index a2d1254b..4971d9e8 100644
--- a/FrameworkTests/AgentReplayPersistenceTests.swift
+++ b/FrameworkTests/AgentReplayPersistenceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/AgentSteeringTests.swift b/FrameworkTests/AgentSteeringTests.swift
index 0ad57cac..f9e3f377 100644
--- a/FrameworkTests/AgentSteeringTests.swift
+++ b/FrameworkTests/AgentSteeringTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/FrameworkTests/AgentUserInputTests.swift b/FrameworkTests/AgentUserInputTests.swift
index 92175c2d..83c0d210 100644
--- a/FrameworkTests/AgentUserInputTests.swift
+++ b/FrameworkTests/AgentUserInputTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/FrameworkTests/AppReviewControllerTests.swift b/FrameworkTests/AppReviewControllerTests.swift
index 9294794a..3df034e1 100644
--- a/FrameworkTests/AppReviewControllerTests.swift
+++ b/FrameworkTests/AppReviewControllerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/FrameworkTests/AssistantChatCollaborationEdgeTests.swift b/FrameworkTests/AssistantChatCollaborationEdgeTests.swift
index cc961c6d..cd5e1278 100644
--- a/FrameworkTests/AssistantChatCollaborationEdgeTests.swift
+++ b/FrameworkTests/AssistantChatCollaborationEdgeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/FrameworkTests/AssistantChatCollaborationPersistenceTests.swift b/FrameworkTests/AssistantChatCollaborationPersistenceTests.swift
index 3af597b0..e373d571 100644
--- a/FrameworkTests/AssistantChatCollaborationPersistenceTests.swift
+++ b/FrameworkTests/AssistantChatCollaborationPersistenceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/AssistantChatCollaborationReviewTests.swift b/FrameworkTests/AssistantChatCollaborationReviewTests.swift
index 2394db74..bb1f0d18 100644
--- a/FrameworkTests/AssistantChatCollaborationReviewTests.swift
+++ b/FrameworkTests/AssistantChatCollaborationReviewTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/FrameworkTests/AssistantConversationOperationsTests.swift b/FrameworkTests/AssistantConversationOperationsTests.swift
index 19b62c15..138862e3 100644
--- a/FrameworkTests/AssistantConversationOperationsTests.swift
+++ b/FrameworkTests/AssistantConversationOperationsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Observation
diff --git a/FrameworkTests/AssistantExecutionControllerTests.swift b/FrameworkTests/AssistantExecutionControllerTests.swift
index a3543c94..1f9960ff 100644
--- a/FrameworkTests/AssistantExecutionControllerTests.swift
+++ b/FrameworkTests/AssistantExecutionControllerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/FrameworkTests/AssistantFailurePresentationTests.swift b/FrameworkTests/AssistantFailurePresentationTests.swift
index c722a072..259698ff 100644
--- a/FrameworkTests/AssistantFailurePresentationTests.swift
+++ b/FrameworkTests/AssistantFailurePresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindPresentation
import Testing
diff --git a/FrameworkTests/AssistantModelSelectionTests.swift b/FrameworkTests/AssistantModelSelectionTests.swift
index 47bcfe69..54457554 100644
--- a/FrameworkTests/AssistantModelSelectionTests.swift
+++ b/FrameworkTests/AssistantModelSelectionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/FrameworkTests/AssistantNotificationTests.swift b/FrameworkTests/AssistantNotificationTests.swift
index 0f0194a9..09d83f93 100644
--- a/FrameworkTests/AssistantNotificationTests.swift
+++ b/FrameworkTests/AssistantNotificationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/FrameworkTests/AssistantTranscriptPresentationTests.swift b/FrameworkTests/AssistantTranscriptPresentationTests.swift
index 708c5378..ce2680c1 100644
--- a/FrameworkTests/AssistantTranscriptPresentationTests.swift
+++ b/FrameworkTests/AssistantTranscriptPresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/FrameworkTests/ChatMessageTimestampTests.swift b/FrameworkTests/ChatMessageTimestampTests.swift
index 33987f32..8bf5e168 100644
--- a/FrameworkTests/ChatMessageTimestampTests.swift
+++ b/FrameworkTests/ChatMessageTimestampTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindPresentation
diff --git a/FrameworkTests/CloudSyncCoordinatorLifecycleTests.swift b/FrameworkTests/CloudSyncCoordinatorLifecycleTests.swift
index cbff2521..698e0764 100644
--- a/FrameworkTests/CloudSyncCoordinatorLifecycleTests.swift
+++ b/FrameworkTests/CloudSyncCoordinatorLifecycleTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import Observation
diff --git a/FrameworkTests/CloudSyncLifecycleTests.swift b/FrameworkTests/CloudSyncLifecycleTests.swift
index bd59fa6c..4db28ab5 100644
--- a/FrameworkTests/CloudSyncLifecycleTests.swift
+++ b/FrameworkTests/CloudSyncLifecycleTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import TermindApplication
diff --git a/FrameworkTests/CloudSyncPhysicalDeletionTests.swift b/FrameworkTests/CloudSyncPhysicalDeletionTests.swift
index 7edd1236..a47da4fa 100644
--- a/FrameworkTests/CloudSyncPhysicalDeletionTests.swift
+++ b/FrameworkTests/CloudSyncPhysicalDeletionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/CloudSyncRecordCodingTests.swift b/FrameworkTests/CloudSyncRecordCodingTests.swift
index a3643015..1a96bc2e 100644
--- a/FrameworkTests/CloudSyncRecordCodingTests.swift
+++ b/FrameworkTests/CloudSyncRecordCodingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import Testing
diff --git a/FrameworkTests/CloudSyncSafetyFixture.swift b/FrameworkTests/CloudSyncSafetyFixture.swift
index c25961c8..2b11673b 100644
--- a/FrameworkTests/CloudSyncSafetyFixture.swift
+++ b/FrameworkTests/CloudSyncSafetyFixture.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import CryptoKit
import Foundation
diff --git a/FrameworkTests/CloudSyncSafetyPersistenceTests.swift b/FrameworkTests/CloudSyncSafetyPersistenceTests.swift
index b7d16d27..50df0e08 100644
--- a/FrameworkTests/CloudSyncSafetyPersistenceTests.swift
+++ b/FrameworkTests/CloudSyncSafetyPersistenceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/FrameworkTests/CloudSyncSafetyTests.swift b/FrameworkTests/CloudSyncSafetyTests.swift
index c9dcfd66..adb08acb 100644
--- a/FrameworkTests/CloudSyncSafetyTests.swift
+++ b/FrameworkTests/CloudSyncSafetyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/CommandGeneratorTests.swift b/FrameworkTests/CommandGeneratorTests.swift
index 91711c60..dc8741c4 100644
--- a/FrameworkTests/CommandGeneratorTests.swift
+++ b/FrameworkTests/CommandGeneratorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/FrameworkTests/CommandNotificationContentTests.swift b/FrameworkTests/CommandNotificationContentTests.swift
index 4fb2cbac..0f54581d 100644
--- a/FrameworkTests/CommandNotificationContentTests.swift
+++ b/FrameworkTests/CommandNotificationContentTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindPresentation
diff --git a/FrameworkTests/CommandRiskClassifierTests.swift b/FrameworkTests/CommandRiskClassifierTests.swift
index 70829fa3..da2c4224 100644
--- a/FrameworkTests/CommandRiskClassifierTests.swift
+++ b/FrameworkTests/CommandRiskClassifierTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import Testing
diff --git a/FrameworkTests/ConnectionHistoryMenuTests.swift b/FrameworkTests/ConnectionHistoryMenuTests.swift
index 47635461..0f5506ac 100644
--- a/FrameworkTests/ConnectionHistoryMenuTests.swift
+++ b/FrameworkTests/ConnectionHistoryMenuTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/ConnectionJourneyRouteStyleTests.swift b/FrameworkTests/ConnectionJourneyRouteStyleTests.swift
index e53121a4..9f182db7 100644
--- a/FrameworkTests/ConnectionJourneyRouteStyleTests.swift
+++ b/FrameworkTests/ConnectionJourneyRouteStyleTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/DataSizeFormatTests.swift b/FrameworkTests/DataSizeFormatTests.swift
index 4cc950aa..d859d739 100644
--- a/FrameworkTests/DataSizeFormatTests.swift
+++ b/FrameworkTests/DataSizeFormatTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindPresentation
import Testing
diff --git a/FrameworkTests/DeferredKeyMetadataTests.swift b/FrameworkTests/DeferredKeyMetadataTests.swift
index dd0fdc87..a17a199c 100644
--- a/FrameworkTests/DeferredKeyMetadataTests.swift
+++ b/FrameworkTests/DeferredKeyMetadataTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/DeletionConfirmationPolicyTests.swift b/FrameworkTests/DeletionConfirmationPolicyTests.swift
index ef6fcc40..b780874d 100644
--- a/FrameworkTests/DeletionConfirmationPolicyTests.swift
+++ b/FrameworkTests/DeletionConfirmationPolicyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindPresentation
import Testing
diff --git a/FrameworkTests/DiagnosisTests.swift b/FrameworkTests/DiagnosisTests.swift
index 872850bf..790e0e17 100644
--- a/FrameworkTests/DiagnosisTests.swift
+++ b/FrameworkTests/DiagnosisTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindInfrastructure
diff --git a/FrameworkTests/EternalTerminalResumeTests.swift b/FrameworkTests/EternalTerminalResumeTests.swift
index 6608e989..6cc0e7bf 100644
--- a/FrameworkTests/EternalTerminalResumeTests.swift
+++ b/FrameworkTests/EternalTerminalResumeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import ETSession
import Foundation
import TermindApplication
diff --git a/FrameworkTests/ForwardingColorTests.swift b/FrameworkTests/ForwardingColorTests.swift
index d57aed12..9aae76e0 100644
--- a/FrameworkTests/ForwardingColorTests.swift
+++ b/FrameworkTests/ForwardingColorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/ForwardingLibraryTests.swift b/FrameworkTests/ForwardingLibraryTests.swift
index 9baa9a12..e9ea47b4 100644
--- a/FrameworkTests/ForwardingLibraryTests.swift
+++ b/FrameworkTests/ForwardingLibraryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/HardwareSigningTests.swift b/FrameworkTests/HardwareSigningTests.swift
index 614c0a05..c2ab1cb1 100644
--- a/FrameworkTests/HardwareSigningTests.swift
+++ b/FrameworkTests/HardwareSigningTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import LocalAuthentication
diff --git a/FrameworkTests/HermesMemoryTests.swift b/FrameworkTests/HermesMemoryTests.swift
index 803857a3..7b439a2d 100644
--- a/FrameworkTests/HermesMemoryTests.swift
+++ b/FrameworkTests/HermesMemoryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SQLite3
diff --git a/FrameworkTests/HistoryRenderingSnapshotTests.swift b/FrameworkTests/HistoryRenderingSnapshotTests.swift
index 3ddbd44f..be008c82 100644
--- a/FrameworkTests/HistoryRenderingSnapshotTests.swift
+++ b/FrameworkTests/HistoryRenderingSnapshotTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindApplication
diff --git a/FrameworkTests/HistorySyncTests.swift b/FrameworkTests/HistorySyncTests.swift
index 97e52419..22587597 100644
--- a/FrameworkTests/HistorySyncTests.swift
+++ b/FrameworkTests/HistorySyncTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/HostAccessTests.swift b/FrameworkTests/HostAccessTests.swift
index 3bc9d36d..dff20181 100644
--- a/FrameworkTests/HostAccessTests.swift
+++ b/FrameworkTests/HostAccessTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/HostCustomIdentityDraftTests.swift b/FrameworkTests/HostCustomIdentityDraftTests.swift
index 9f85f950..42a1aafd 100644
--- a/FrameworkTests/HostCustomIdentityDraftTests.swift
+++ b/FrameworkTests/HostCustomIdentityDraftTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/HostEditorBindingsTests.swift b/FrameworkTests/HostEditorBindingsTests.swift
index 9e695480..c4838158 100644
--- a/FrameworkTests/HostEditorBindingsTests.swift
+++ b/FrameworkTests/HostEditorBindingsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/FrameworkTests/HostIconTests.swift b/FrameworkTests/HostIconTests.swift
index 989c7d55..94115172 100644
--- a/FrameworkTests/HostIconTests.swift
+++ b/FrameworkTests/HostIconTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/HostOperationAdmissionTests.swift b/FrameworkTests/HostOperationAdmissionTests.swift
index 6d4bd180..d9d4581d 100644
--- a/FrameworkTests/HostOperationAdmissionTests.swift
+++ b/FrameworkTests/HostOperationAdmissionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/HostProtocolTests.swift b/FrameworkTests/HostProtocolTests.swift
index fc5842c0..ffe61584 100644
--- a/FrameworkTests/HostProtocolTests.swift
+++ b/FrameworkTests/HostProtocolTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/HostShellIntegrationTests.swift b/FrameworkTests/HostShellIntegrationTests.swift
index d4c26f03..6ee17630 100644
--- a/FrameworkTests/HostShellIntegrationTests.swift
+++ b/FrameworkTests/HostShellIntegrationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/IdentityModificationDateTests.swift b/FrameworkTests/IdentityModificationDateTests.swift
index 61a6b86a..f7e3ad9f 100644
--- a/FrameworkTests/IdentityModificationDateTests.swift
+++ b/FrameworkTests/IdentityModificationDateTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/KeyExportTests.swift b/FrameworkTests/KeyExportTests.swift
index a7333756..cee87419 100644
--- a/FrameworkTests/KeyExportTests.swift
+++ b/FrameworkTests/KeyExportTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/KnownHostPresentationTests.swift b/FrameworkTests/KnownHostPresentationTests.swift
index 83bb6ec7..a65f523b 100644
--- a/FrameworkTests/KnownHostPresentationTests.swift
+++ b/FrameworkTests/KnownHostPresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
import TermindPresentation
import Testing
diff --git a/FrameworkTests/LaunchFileLogServiceTests.swift b/FrameworkTests/LaunchFileLogServiceTests.swift
index 6a6b58d3..05d61833 100644
--- a/FrameworkTests/LaunchFileLogServiceTests.swift
+++ b/FrameworkTests/LaunchFileLogServiceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Logging
import TermindApplication
diff --git a/FrameworkTests/LibraryExpansionStateTests.swift b/FrameworkTests/LibraryExpansionStateTests.swift
index 154ff882..0b95ea41 100644
--- a/FrameworkTests/LibraryExpansionStateTests.swift
+++ b/FrameworkTests/LibraryExpansionStateTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import Testing
diff --git a/FrameworkTests/LocalNetworkActionTests.swift b/FrameworkTests/LocalNetworkActionTests.swift
index 2587cfe5..ad88f527 100644
--- a/FrameworkTests/LocalNetworkActionTests.swift
+++ b/FrameworkTests/LocalNetworkActionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/LocalNetworkLifecycleTests.swift b/FrameworkTests/LocalNetworkLifecycleTests.swift
index 26c21929..72588121 100644
--- a/FrameworkTests/LocalNetworkLifecycleTests.swift
+++ b/FrameworkTests/LocalNetworkLifecycleTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/LocalNetworkTests.swift b/FrameworkTests/LocalNetworkTests.swift
index 0dbb6aea..a67d4a4b 100644
--- a/FrameworkTests/LocalNetworkTests.swift
+++ b/FrameworkTests/LocalNetworkTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/MCPAuthorizationTests.swift b/FrameworkTests/MCPAuthorizationTests.swift
index 07448083..093b5168 100644
--- a/FrameworkTests/MCPAuthorizationTests.swift
+++ b/FrameworkTests/MCPAuthorizationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Observation
diff --git a/FrameworkTests/MCPImportTests.swift b/FrameworkTests/MCPImportTests.swift
index e07723c4..ed6598a8 100644
--- a/FrameworkTests/MCPImportTests.swift
+++ b/FrameworkTests/MCPImportTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/FrameworkTests/MCPServerMetadataTests.swift b/FrameworkTests/MCPServerMetadataTests.swift
index 2865667d..9599416a 100644
--- a/FrameworkTests/MCPServerMetadataTests.swift
+++ b/FrameworkTests/MCPServerMetadataTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/MetricsCPUUsageTests.swift b/FrameworkTests/MetricsCPUUsageTests.swift
index 06097ee9..147df16f 100644
--- a/FrameworkTests/MetricsCPUUsageTests.swift
+++ b/FrameworkTests/MetricsCPUUsageTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import Testing
diff --git a/FrameworkTests/MetricsFilesystemTests.swift b/FrameworkTests/MetricsFilesystemTests.swift
index c0b973df..4f1b7d4e 100644
--- a/FrameworkTests/MetricsFilesystemTests.swift
+++ b/FrameworkTests/MetricsFilesystemTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindInfrastructure
diff --git a/FrameworkTests/MetricsFormatTests.swift b/FrameworkTests/MetricsFormatTests.swift
index b74791b5..1d3a457b 100644
--- a/FrameworkTests/MetricsFormatTests.swift
+++ b/FrameworkTests/MetricsFormatTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindPresentation
import Testing
diff --git a/FrameworkTests/MetricsHostAccessTests.swift b/FrameworkTests/MetricsHostAccessTests.swift
index ca9fd0f9..2247d1ee 100644
--- a/FrameworkTests/MetricsHostAccessTests.swift
+++ b/FrameworkTests/MetricsHostAccessTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/MetricsJourneyTests.swift b/FrameworkTests/MetricsJourneyTests.swift
index 42f8afc1..b7b19b57 100644
--- a/FrameworkTests/MetricsJourneyTests.swift
+++ b/FrameworkTests/MetricsJourneyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/MetricsKeyboardInteractiveTests.swift b/FrameworkTests/MetricsKeyboardInteractiveTests.swift
index d28c10d2..ab5ef2c9 100644
--- a/FrameworkTests/MetricsKeyboardInteractiveTests.swift
+++ b/FrameworkTests/MetricsKeyboardInteractiveTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/MetricsProcessTests.swift b/FrameworkTests/MetricsProcessTests.swift
index 7deaf81f..1c71feef 100644
--- a/FrameworkTests/MetricsProcessTests.swift
+++ b/FrameworkTests/MetricsProcessTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindInfrastructure
diff --git a/FrameworkTests/MetricsSyncTests.swift b/FrameworkTests/MetricsSyncTests.swift
index 028580b3..a00e6219 100644
--- a/FrameworkTests/MetricsSyncTests.swift
+++ b/FrameworkTests/MetricsSyncTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/ModelProviderCredentialTests.swift b/FrameworkTests/ModelProviderCredentialTests.swift
index 6b0d166c..a8bd0952 100644
--- a/FrameworkTests/ModelProviderCredentialTests.swift
+++ b/FrameworkTests/ModelProviderCredentialTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/FrameworkTests/ModelProviderFormTests.swift b/FrameworkTests/ModelProviderFormTests.swift
index bef5a20f..73ed713a 100644
--- a/FrameworkTests/ModelProviderFormTests.swift
+++ b/FrameworkTests/ModelProviderFormTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/FrameworkTests/ModelProviderVertexTests.swift b/FrameworkTests/ModelProviderVertexTests.swift
index a4ba2f8a..99c2996d 100644
--- a/FrameworkTests/ModelProviderVertexTests.swift
+++ b/FrameworkTests/ModelProviderVertexTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Security
diff --git a/FrameworkTests/MultiConnectionPolicyTests.swift b/FrameworkTests/MultiConnectionPolicyTests.swift
index 3d425b3e..f325cd7e 100644
--- a/FrameworkTests/MultiConnectionPolicyTests.swift
+++ b/FrameworkTests/MultiConnectionPolicyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
import Testing
diff --git a/FrameworkTests/MultiConnectionSettingsTests.swift b/FrameworkTests/MultiConnectionSettingsTests.swift
index 2b19778f..78b1c9eb 100644
--- a/FrameworkTests/MultiConnectionSettingsTests.swift
+++ b/FrameworkTests/MultiConnectionSettingsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/FrameworkTests/NativeTerminalContextTests.swift b/FrameworkTests/NativeTerminalContextTests.swift
index e2258d99..b4572932 100644
--- a/FrameworkTests/NativeTerminalContextTests.swift
+++ b/FrameworkTests/NativeTerminalContextTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/NotificationDeliveryRecorder.swift b/FrameworkTests/NotificationDeliveryRecorder.swift
index 182240e1..177ab8e6 100644
--- a/FrameworkTests/NotificationDeliveryRecorder.swift
+++ b/FrameworkTests/NotificationDeliveryRecorder.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/FrameworkTests/NotificationPreferencesTests.swift b/FrameworkTests/NotificationPreferencesTests.swift
index db7203b2..8542864c 100644
--- a/FrameworkTests/NotificationPreferencesTests.swift
+++ b/FrameworkTests/NotificationPreferencesTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/PersistenceCompatibilityTests.swift b/FrameworkTests/PersistenceCompatibilityTests.swift
index bb862177..111ca405 100644
--- a/FrameworkTests/PersistenceCompatibilityTests.swift
+++ b/FrameworkTests/PersistenceCompatibilityTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/FrameworkTests/PersistentStoreLockTests.swift b/FrameworkTests/PersistentStoreLockTests.swift
index be56341c..060c99db 100644
--- a/FrameworkTests/PersistentStoreLockTests.swift
+++ b/FrameworkTests/PersistentStoreLockTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
#if os(macOS)
import Darwin
import Foundation
diff --git a/FrameworkTests/PortForwardingEditorPolicyTests.swift b/FrameworkTests/PortForwardingEditorPolicyTests.swift
index 2b167b09..3bb44726 100644
--- a/FrameworkTests/PortForwardingEditorPolicyTests.swift
+++ b/FrameworkTests/PortForwardingEditorPolicyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/PortForwardingHostSettingsTests.swift b/FrameworkTests/PortForwardingHostSettingsTests.swift
index 1b4c5fe6..7c9f595a 100644
--- a/FrameworkTests/PortForwardingHostSettingsTests.swift
+++ b/FrameworkTests/PortForwardingHostSettingsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/FrameworkTests/ProPaywallStateTests.swift b/FrameworkTests/ProPaywallStateTests.swift
index 61d244ae..2d82c009 100644
--- a/FrameworkTests/ProPaywallStateTests.swift
+++ b/FrameworkTests/ProPaywallStateTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindPresentation
diff --git a/FrameworkTests/ProviderEndpointTests.swift b/FrameworkTests/ProviderEndpointTests.swift
index e5846000..bb71f2e9 100644
--- a/FrameworkTests/ProviderEndpointTests.swift
+++ b/FrameworkTests/ProviderEndpointTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/RecentConnectionHostTests.swift b/FrameworkTests/RecentConnectionHostTests.swift
index 3a5e8b30..6f43b7d3 100644
--- a/FrameworkTests/RecentConnectionHostTests.swift
+++ b/FrameworkTests/RecentConnectionHostTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/RecentlyClosedStoreTests.swift b/FrameworkTests/RecentlyClosedStoreTests.swift
index a5d626a5..756edde2 100644
--- a/FrameworkTests/RecentlyClosedStoreTests.swift
+++ b/FrameworkTests/RecentlyClosedStoreTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindInfrastructure
import Testing
diff --git a/FrameworkTests/RegistrationAndLayoutTests.swift b/FrameworkTests/RegistrationAndLayoutTests.swift
index f3ceb77c..00cf302c 100644
--- a/FrameworkTests/RegistrationAndLayoutTests.swift
+++ b/FrameworkTests/RegistrationAndLayoutTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/FrameworkTests/RemoteCharsetTests.swift b/FrameworkTests/RemoteCharsetTests.swift
index 0282ac8f..3511e40d 100644
--- a/FrameworkTests/RemoteCharsetTests.swift
+++ b/FrameworkTests/RemoteCharsetTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import Testing
diff --git a/FrameworkTests/RemoteConnectionURLTests.swift b/FrameworkTests/RemoteConnectionURLTests.swift
index fbe443b7..972c5952 100644
--- a/FrameworkTests/RemoteConnectionURLTests.swift
+++ b/FrameworkTests/RemoteConnectionURLTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/RemoteFileSystemTests.swift b/FrameworkTests/RemoteFileSystemTests.swift
index 9bd761bc..a29256cf 100644
--- a/FrameworkTests/RemoteFileSystemTests.swift
+++ b/FrameworkTests/RemoteFileSystemTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/RemoteMultiplexerShellTests.swift b/FrameworkTests/RemoteMultiplexerShellTests.swift
index c39cc2e0..130f1625 100644
--- a/FrameworkTests/RemoteMultiplexerShellTests.swift
+++ b/FrameworkTests/RemoteMultiplexerShellTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
#if os(macOS)
import Foundation
import TermindApplication
diff --git a/FrameworkTests/RemoteMultiplexerTests.swift b/FrameworkTests/RemoteMultiplexerTests.swift
index a69aa2b5..43b92f52 100644
--- a/FrameworkTests/RemoteMultiplexerTests.swift
+++ b/FrameworkTests/RemoteMultiplexerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/RemoteSessionTerminatorTests.swift b/FrameworkTests/RemoteSessionTerminatorTests.swift
index fce73886..704edc2b 100644
--- a/FrameworkTests/RemoteSessionTerminatorTests.swift
+++ b/FrameworkTests/RemoteSessionTerminatorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/RemoteShellCommandTests.swift b/FrameworkTests/RemoteShellCommandTests.swift
index f57fd274..985b7b75 100644
--- a/FrameworkTests/RemoteShellCommandTests.swift
+++ b/FrameworkTests/RemoteShellCommandTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import Testing
diff --git a/FrameworkTests/RemoteShellHistoryLoaderTests.swift b/FrameworkTests/RemoteShellHistoryLoaderTests.swift
index c0c70fb9..69f1050b 100644
--- a/FrameworkTests/RemoteShellHistoryLoaderTests.swift
+++ b/FrameworkTests/RemoteShellHistoryLoaderTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
#if os(macOS)
import Foundation
import TermindApplication
diff --git a/FrameworkTests/RemoteSystemInfoTests.swift b/FrameworkTests/RemoteSystemInfoTests.swift
index 1bc88ab9..e37b5dc8 100644
--- a/FrameworkTests/RemoteSystemInfoTests.swift
+++ b/FrameworkTests/RemoteSystemInfoTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
import Testing
diff --git a/FrameworkTests/ResumableTerminalEngineTests.swift b/FrameworkTests/ResumableTerminalEngineTests.swift
index cb7bb476..5dbbb5e7 100644
--- a/FrameworkTests/ResumableTerminalEngineTests.swift
+++ b/FrameworkTests/ResumableTerminalEngineTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/ResumableTerminalExitTests.swift b/FrameworkTests/ResumableTerminalExitTests.swift
index 987ad772..b6f3b299 100644
--- a/FrameworkTests/ResumableTerminalExitTests.swift
+++ b/FrameworkTests/ResumableTerminalExitTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import ETSession
import Foundation
import MoshCore
diff --git a/FrameworkTests/RetiredTerminalHighlightingTests.swift b/FrameworkTests/RetiredTerminalHighlightingTests.swift
index f1b49cf5..dc86b3b6 100644
--- a/FrameworkTests/RetiredTerminalHighlightingTests.swift
+++ b/FrameworkTests/RetiredTerminalHighlightingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SQLite3
diff --git a/FrameworkTests/RevenueCatCommerceTests.swift b/FrameworkTests/RevenueCatCommerceTests.swift
index b72dc8ce..55d31bb4 100644
--- a/FrameworkTests/RevenueCatCommerceTests.swift
+++ b/FrameworkTests/RevenueCatCommerceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import RevenueCat
import TermindDomain
diff --git a/FrameworkTests/SFTPChannelLifetimeTests.swift b/FrameworkTests/SFTPChannelLifetimeTests.swift
index 5e4b3d73..0c28bfd6 100644
--- a/FrameworkTests/SFTPChannelLifetimeTests.swift
+++ b/FrameworkTests/SFTPChannelLifetimeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/FrameworkTests/SFTPEditModelTests.swift b/FrameworkTests/SFTPEditModelTests.swift
index 18237ed7..11f1039f 100644
--- a/FrameworkTests/SFTPEditModelTests.swift
+++ b/FrameworkTests/SFTPEditModelTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SFTPHistoryTests.swift b/FrameworkTests/SFTPHistoryTests.swift
index 013d7a0d..8890b936 100644
--- a/FrameworkTests/SFTPHistoryTests.swift
+++ b/FrameworkTests/SFTPHistoryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SFTPNotificationTests.swift b/FrameworkTests/SFTPNotificationTests.swift
index 9b3148cb..773290e2 100644
--- a/FrameworkTests/SFTPNotificationTests.swift
+++ b/FrameworkTests/SFTPNotificationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SFTPRemoteConflictResolverTests.swift b/FrameworkTests/SFTPRemoteConflictResolverTests.swift
index f7a2c769..836b8fa7 100644
--- a/FrameworkTests/SFTPRemoteConflictResolverTests.swift
+++ b/FrameworkTests/SFTPRemoteConflictResolverTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SFTPSettingsSyncTests.swift b/FrameworkTests/SFTPSettingsSyncTests.swift
index 646afd69..f4a65276 100644
--- a/FrameworkTests/SFTPSettingsSyncTests.swift
+++ b/FrameworkTests/SFTPSettingsSyncTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import CryptoKit
import Foundation
diff --git a/FrameworkTests/SFTPSettingsTests.swift b/FrameworkTests/SFTPSettingsTests.swift
index ff5b4617..0f4d7b61 100644
--- a/FrameworkTests/SFTPSettingsTests.swift
+++ b/FrameworkTests/SFTPSettingsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SFTPTransferPresentationTests.swift b/FrameworkTests/SFTPTransferPresentationTests.swift
index f4c7f6d4..cfe25b28 100644
--- a/FrameworkTests/SFTPTransferPresentationTests.swift
+++ b/FrameworkTests/SFTPTransferPresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindPresentation
diff --git a/FrameworkTests/SFTPUploadReceiptTests.swift b/FrameworkTests/SFTPUploadReceiptTests.swift
index f9f42a48..1cba2ca1 100644
--- a/FrameworkTests/SFTPUploadReceiptTests.swift
+++ b/FrameworkTests/SFTPUploadReceiptTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
import Testing
diff --git a/FrameworkTests/SSHAgentForwardingPersistenceTests.swift b/FrameworkTests/SSHAgentForwardingPersistenceTests.swift
index 81dde262..d5a965b1 100644
--- a/FrameworkTests/SSHAgentForwardingPersistenceTests.swift
+++ b/FrameworkTests/SSHAgentForwardingPersistenceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/FrameworkTests/SSHAgentForwardingTests.swift b/FrameworkTests/SSHAgentForwardingTests.swift
index abd054d5..478edb5f 100644
--- a/FrameworkTests/SSHAgentForwardingTests.swift
+++ b/FrameworkTests/SSHAgentForwardingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import OpenSSL
diff --git a/FrameworkTests/SSHAuthenticationSubmissionTests.swift b/FrameworkTests/SSHAuthenticationSubmissionTests.swift
index a7c88672..ed28a1d6 100644
--- a/FrameworkTests/SSHAuthenticationSubmissionTests.swift
+++ b/FrameworkTests/SSHAuthenticationSubmissionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SSHConnectionPreparationTests.swift b/FrameworkTests/SSHConnectionPreparationTests.swift
index 38fc32ac..5138dde4 100644
--- a/FrameworkTests/SSHConnectionPreparationTests.swift
+++ b/FrameworkTests/SSHConnectionPreparationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SSHConnectionWorkerLifecycleTests.swift b/FrameworkTests/SSHConnectionWorkerLifecycleTests.swift
index 6f6a5d31..a40037f3 100644
--- a/FrameworkTests/SSHConnectionWorkerLifecycleTests.swift
+++ b/FrameworkTests/SSHConnectionWorkerLifecycleTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Dispatch
import Logging
import Testing
diff --git a/FrameworkTests/SSHHostKeyAuthorizationTests.swift b/FrameworkTests/SSHHostKeyAuthorizationTests.swift
index 354ce67a..2505837d 100644
--- a/FrameworkTests/SSHHostKeyAuthorizationTests.swift
+++ b/FrameworkTests/SSHHostKeyAuthorizationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SSHImportUsernameTests.swift b/FrameworkTests/SSHImportUsernameTests.swift
index 1affb3bf..8e6fba1f 100644
--- a/FrameworkTests/SSHImportUsernameTests.swift
+++ b/FrameworkTests/SSHImportUsernameTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindRemoteInfrastructure
diff --git a/FrameworkTests/SSHInteractionPolicyTests.swift b/FrameworkTests/SSHInteractionPolicyTests.swift
index 217793d0..2368e327 100644
--- a/FrameworkTests/SSHInteractionPolicyTests.swift
+++ b/FrameworkTests/SSHInteractionPolicyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SSHKeyReplacementDraftTests.swift b/FrameworkTests/SSHKeyReplacementDraftTests.swift
index 1be29417..1b2dd9e1 100644
--- a/FrameworkTests/SSHKeyReplacementDraftTests.swift
+++ b/FrameworkTests/SSHKeyReplacementDraftTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import Testing
diff --git a/FrameworkTests/SSHKeyboardInteractiveQueueTests.swift b/FrameworkTests/SSHKeyboardInteractiveQueueTests.swift
index 36a511a2..c3648419 100644
--- a/FrameworkTests/SSHKeyboardInteractiveQueueTests.swift
+++ b/FrameworkTests/SSHKeyboardInteractiveQueueTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SSHMetricsSamplerTests.swift b/FrameworkTests/SSHMetricsSamplerTests.swift
index c92791ca..ef850983 100644
--- a/FrameworkTests/SSHMetricsSamplerTests.swift
+++ b/FrameworkTests/SSHMetricsSamplerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SSHPTYActivationTests.swift b/FrameworkTests/SSHPTYActivationTests.swift
index 7b31d11f..2d3ba862 100644
--- a/FrameworkTests/SSHPTYActivationTests.swift
+++ b/FrameworkTests/SSHPTYActivationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Foundation
import TermindDomain
diff --git a/FrameworkTests/SSHPTYChannelWorkerLifecycleTests.swift b/FrameworkTests/SSHPTYChannelWorkerLifecycleTests.swift
index f85a787e..1a8272c9 100644
--- a/FrameworkTests/SSHPTYChannelWorkerLifecycleTests.swift
+++ b/FrameworkTests/SSHPTYChannelWorkerLifecycleTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Dispatch
import Testing
diff --git a/FrameworkTests/SSHSettingsTests.swift b/FrameworkTests/SSHSettingsTests.swift
index 49127a9d..ee07be0b 100644
--- a/FrameworkTests/SSHSettingsTests.swift
+++ b/FrameworkTests/SSHSettingsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/SSHTailscaleAuthenticationTests.swift b/FrameworkTests/SSHTailscaleAuthenticationTests.swift
index c3bf4281..3dd32eb5 100644
--- a/FrameworkTests/SSHTailscaleAuthenticationTests.swift
+++ b/FrameworkTests/SSHTailscaleAuthenticationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SSHWireEncodingTests.swift b/FrameworkTests/SSHWireEncodingTests.swift
index 01e01cd6..c030450f 100644
--- a/FrameworkTests/SSHWireEncodingTests.swift
+++ b/FrameworkTests/SSHWireEncodingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/FrameworkTests/SavedNameTests.swift b/FrameworkTests/SavedNameTests.swift
index 7acb3d96..98a466a3 100644
--- a/FrameworkTests/SavedNameTests.swift
+++ b/FrameworkTests/SavedNameTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/FrameworkTests/SavedPassphraseTests.swift b/FrameworkTests/SavedPassphraseTests.swift
index 51162409..e4710e0d 100644
--- a/FrameworkTests/SavedPassphraseTests.swift
+++ b/FrameworkTests/SavedPassphraseTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import Synchronization
diff --git a/FrameworkTests/SecurityKeyEditorTests.swift b/FrameworkTests/SecurityKeyEditorTests.swift
index 0d74ac8f..1c012616 100644
--- a/FrameworkTests/SecurityKeyEditorTests.swift
+++ b/FrameworkTests/SecurityKeyEditorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SecurityKeySigningCoordinatorTests.swift b/FrameworkTests/SecurityKeySigningCoordinatorTests.swift
index 1edeb85e..89ca98d8 100644
--- a/FrameworkTests/SecurityKeySigningCoordinatorTests.swift
+++ b/FrameworkTests/SecurityKeySigningCoordinatorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SessionHistoryTests.swift b/FrameworkTests/SessionHistoryTests.swift
index daa642c7..5f2431ae 100644
--- a/FrameworkTests/SessionHistoryTests.swift
+++ b/FrameworkTests/SessionHistoryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/SessionPersistenceTests.swift b/FrameworkTests/SessionPersistenceTests.swift
index 3eac2d97..d579c962 100644
--- a/FrameworkTests/SessionPersistenceTests.swift
+++ b/FrameworkTests/SessionPersistenceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/SessionReconnectControllerTests.swift b/FrameworkTests/SessionReconnectControllerTests.swift
index e411ad6d..aa94f576 100644
--- a/FrameworkTests/SessionReconnectControllerTests.swift
+++ b/FrameworkTests/SessionReconnectControllerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import Testing
diff --git a/FrameworkTests/SettingsPortTests.swift b/FrameworkTests/SettingsPortTests.swift
index 967654a9..55d23fd1 100644
--- a/FrameworkTests/SettingsPortTests.swift
+++ b/FrameworkTests/SettingsPortTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/SingleLineTextInputTests.swift b/FrameworkTests/SingleLineTextInputTests.swift
index 503fc3c7..7236db1b 100644
--- a/FrameworkTests/SingleLineTextInputTests.swift
+++ b/FrameworkTests/SingleLineTextInputTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindPresentation
diff --git a/FrameworkTests/SnippetCardDataTests.swift b/FrameworkTests/SnippetCardDataTests.swift
index 7028e444..01f8e8f7 100644
--- a/FrameworkTests/SnippetCardDataTests.swift
+++ b/FrameworkTests/SnippetCardDataTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/SnippetColorTests.swift b/FrameworkTests/SnippetColorTests.swift
index e26e4eef..eb26be8e 100644
--- a/FrameworkTests/SnippetColorTests.swift
+++ b/FrameworkTests/SnippetColorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/SpeechTranscriptionTests.swift b/FrameworkTests/SpeechTranscriptionTests.swift
index ff7822db..d3035fb1 100644
--- a/FrameworkTests/SpeechTranscriptionTests.swift
+++ b/FrameworkTests/SpeechTranscriptionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Speech
import TermindInfrastructure
diff --git a/FrameworkTests/SpeechWaveformViewTests.swift b/FrameworkTests/SpeechWaveformViewTests.swift
index fb05aca0..646397d0 100644
--- a/FrameworkTests/SpeechWaveformViewTests.swift
+++ b/FrameworkTests/SpeechWaveformViewTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CoreGraphics
import Foundation
import ImageIO
diff --git a/FrameworkTests/SyncRecordEvolutionTests.swift b/FrameworkTests/SyncRecordEvolutionTests.swift
index 22ab6fa2..ec40ff38 100644
--- a/FrameworkTests/SyncRecordEvolutionTests.swift
+++ b/FrameworkTests/SyncRecordEvolutionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/FrameworkTests/SystemNotificationsTests.swift b/FrameworkTests/SystemNotificationsTests.swift
index a3fc8652..e4461f82 100644
--- a/FrameworkTests/SystemNotificationsTests.swift
+++ b/FrameworkTests/SystemNotificationsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import Testing
diff --git a/FrameworkTests/TagFieldPolicyTests.swift b/FrameworkTests/TagFieldPolicyTests.swift
index b2311b60..4879ec99 100644
--- a/FrameworkTests/TagFieldPolicyTests.swift
+++ b/FrameworkTests/TagFieldPolicyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Testing
@testable import TermindPresentation
diff --git a/FrameworkTests/TailscaleExitNodePresentationTests.swift b/FrameworkTests/TailscaleExitNodePresentationTests.swift
index f08f1869..21cab975 100644
--- a/FrameworkTests/TailscaleExitNodePresentationTests.swift
+++ b/FrameworkTests/TailscaleExitNodePresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TailscaleGroupEditorTests.swift b/FrameworkTests/TailscaleGroupEditorTests.swift
index ed9618ee..e949af3e 100644
--- a/FrameworkTests/TailscaleGroupEditorTests.swift
+++ b/FrameworkTests/TailscaleGroupEditorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TailscaleHostIdentityTests.swift b/FrameworkTests/TailscaleHostIdentityTests.swift
index dab7f76d..ad6a81df 100644
--- a/FrameworkTests/TailscaleHostIdentityTests.swift
+++ b/FrameworkTests/TailscaleHostIdentityTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TailscaleIntegrationTests.swift b/FrameworkTests/TailscaleIntegrationTests.swift
index 54891fac..7528c646 100644
--- a/FrameworkTests/TailscaleIntegrationTests.swift
+++ b/FrameworkTests/TailscaleIntegrationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/TailscaleLoginTestSupport.swift b/FrameworkTests/TailscaleLoginTestSupport.swift
index 637315fa..0413d938 100644
--- a/FrameworkTests/TailscaleLoginTestSupport.swift
+++ b/FrameworkTests/TailscaleLoginTestSupport.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TailscaleMetricsAvailabilityTests.swift b/FrameworkTests/TailscaleMetricsAvailabilityTests.swift
index 3c317113..c5ef3d65 100644
--- a/FrameworkTests/TailscaleMetricsAvailabilityTests.swift
+++ b/FrameworkTests/TailscaleMetricsAvailabilityTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TailscaleMultiConnectionTests.swift b/FrameworkTests/TailscaleMultiConnectionTests.swift
index bb5398f5..d7a611df 100644
--- a/FrameworkTests/TailscaleMultiConnectionTests.swift
+++ b/FrameworkTests/TailscaleMultiConnectionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/TailscaleProfileCleanupTests.swift b/FrameworkTests/TailscaleProfileCleanupTests.swift
index 3cbacc33..e0e99851 100644
--- a/FrameworkTests/TailscaleProfileCleanupTests.swift
+++ b/FrameworkTests/TailscaleProfileCleanupTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/TailscaleSSHWireTests.swift b/FrameworkTests/TailscaleSSHWireTests.swift
index 029c83a2..8a545394 100644
--- a/FrameworkTests/TailscaleSSHWireTests.swift
+++ b/FrameworkTests/TailscaleSSHWireTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/FrameworkTests/TailscaleSyncSafetyTests.swift b/FrameworkTests/TailscaleSyncSafetyTests.swift
index 2cc58c2b..0f26034a 100644
--- a/FrameworkTests/TailscaleSyncSafetyTests.swift
+++ b/FrameworkTests/TailscaleSyncSafetyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/TelnetProtocolTests.swift b/FrameworkTests/TelnetProtocolTests.swift
index f5feac79..82c88579 100644
--- a/FrameworkTests/TelnetProtocolTests.swift
+++ b/FrameworkTests/TelnetProtocolTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/FrameworkTests/TerminalCommandDraftControllerTests.swift b/FrameworkTests/TerminalCommandDraftControllerTests.swift
index d51002f7..96870a00 100644
--- a/FrameworkTests/TerminalCommandDraftControllerTests.swift
+++ b/FrameworkTests/TerminalCommandDraftControllerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import Testing
diff --git a/FrameworkTests/TerminalCommandMonitorTests.swift b/FrameworkTests/TerminalCommandMonitorTests.swift
index 13af6f01..3fee581c 100644
--- a/FrameworkTests/TerminalCommandMonitorTests.swift
+++ b/FrameworkTests/TerminalCommandMonitorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TerminalContextCoordinatorTests.swift b/FrameworkTests/TerminalContextCoordinatorTests.swift
index a1680bc1..0c44ec2b 100644
--- a/FrameworkTests/TerminalContextCoordinatorTests.swift
+++ b/FrameworkTests/TerminalContextCoordinatorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TerminalCustomThemeTests.swift b/FrameworkTests/TerminalCustomThemeTests.swift
index eceba712..8341cca2 100644
--- a/FrameworkTests/TerminalCustomThemeTests.swift
+++ b/FrameworkTests/TerminalCustomThemeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/TerminalExperiencePreferencesTests.swift b/FrameworkTests/TerminalExperiencePreferencesTests.swift
index bc8a687c..fd1abd62 100644
--- a/FrameworkTests/TerminalExperiencePreferencesTests.swift
+++ b/FrameworkTests/TerminalExperiencePreferencesTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TerminalFindControllerTests.swift b/FrameworkTests/TerminalFindControllerTests.swift
index 7e4a7ae8..6e3b3f39 100644
--- a/FrameworkTests/TerminalFindControllerTests.swift
+++ b/FrameworkTests/TerminalFindControllerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import TermindDomain
import Testing
diff --git a/FrameworkTests/TerminalFontPreferencesTests.swift b/FrameworkTests/TerminalFontPreferencesTests.swift
index b3e157df..f9528058 100644
--- a/FrameworkTests/TerminalFontPreferencesTests.swift
+++ b/FrameworkTests/TerminalFontPreferencesTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/TerminalMousePreferencesTests.swift b/FrameworkTests/TerminalMousePreferencesTests.swift
index 181519f1..49a5b58d 100644
--- a/FrameworkTests/TerminalMousePreferencesTests.swift
+++ b/FrameworkTests/TerminalMousePreferencesTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TerminalNotificationCoordinatorTests.swift b/FrameworkTests/TerminalNotificationCoordinatorTests.swift
index 5b796615..96731179 100644
--- a/FrameworkTests/TerminalNotificationCoordinatorTests.swift
+++ b/FrameworkTests/TerminalNotificationCoordinatorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TerminalRouteReporterTests.swift b/FrameworkTests/TerminalRouteReporterTests.swift
index cf5df6a7..3bf57d6e 100644
--- a/FrameworkTests/TerminalRouteReporterTests.swift
+++ b/FrameworkTests/TerminalRouteReporterTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import Testing
diff --git a/FrameworkTests/TerminalTCPBridgeTests.swift b/FrameworkTests/TerminalTCPBridgeTests.swift
index 70eb4a83..37ad1be7 100644
--- a/FrameworkTests/TerminalTCPBridgeTests.swift
+++ b/FrameworkTests/TerminalTCPBridgeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import TermindApplication
diff --git a/FrameworkTests/TerminalThemeSelectionTests.swift b/FrameworkTests/TerminalThemeSelectionTests.swift
index 156ccd7e..abddfc68 100644
--- a/FrameworkTests/TerminalThemeSelectionTests.swift
+++ b/FrameworkTests/TerminalThemeSelectionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/TerminalTransportTests.swift b/FrameworkTests/TerminalTransportTests.swift
index 9ecfad4b..c2b757fb 100644
--- a/FrameworkTests/TerminalTransportTests.swift
+++ b/FrameworkTests/TerminalTransportTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/ToolAuditRepositoryTests.swift b/FrameworkTests/ToolAuditRepositoryTests.swift
index 9b695486..26250114 100644
--- a/FrameworkTests/ToolAuditRepositoryTests.swift
+++ b/FrameworkTests/ToolAuditRepositoryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/TransportRecoveryJourneyTests.swift b/FrameworkTests/TransportRecoveryJourneyTests.swift
index 926c6026..9e157500 100644
--- a/FrameworkTests/TransportRecoveryJourneyTests.swift
+++ b/FrameworkTests/TransportRecoveryJourneyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/FrameworkTests/UserInputSpeechTests.swift b/FrameworkTests/UserInputSpeechTests.swift
index d36805f8..c7302746 100644
--- a/FrameworkTests/UserInputSpeechTests.swift
+++ b/FrameworkTests/UserInputSpeechTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Testing
diff --git a/FrameworkTests/WebAuthnVaultMetadataTests.swift b/FrameworkTests/WebAuthnVaultMetadataTests.swift
index 5fe86bd4..a2789bb0 100644
--- a/FrameworkTests/WebAuthnVaultMetadataTests.swift
+++ b/FrameworkTests/WebAuthnVaultMetadataTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/FrameworkTests/WorkspacePreferencesTests.swift b/FrameworkTests/WorkspacePreferencesTests.swift
index 3426aabd..a09a1314 100644
--- a/FrameworkTests/WorkspacePreferencesTests.swift
+++ b/FrameworkTests/WorkspacePreferencesTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/FrameworkTests/WorkspaceUploadNoticeTests.swift b/FrameworkTests/WorkspaceUploadNoticeTests.swift
index 70f27077..99131b6f 100644
--- a/FrameworkTests/WorkspaceUploadNoticeTests.swift
+++ b/FrameworkTests/WorkspaceUploadNoticeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import TermindDomain
import TermindPresentation
diff --git a/Frameworks/TermindApplication/AIConfigurationPersisting.swift b/Frameworks/TermindApplication/AIConfigurationPersisting.swift
index b66d0ce2..12e8cbe6 100644
--- a/Frameworks/TermindApplication/AIConfigurationPersisting.swift
+++ b/Frameworks/TermindApplication/AIConfigurationPersisting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/AISecretStoring.swift b/Frameworks/TermindApplication/AISecretStoring.swift
index 81454519..a2bbf6b6 100644
--- a/Frameworks/TermindApplication/AISecretStoring.swift
+++ b/Frameworks/TermindApplication/AISecretStoring.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
@MainActor
diff --git a/Frameworks/TermindApplication/Agent/AgentPaneAccess.swift b/Frameworks/TermindApplication/Agent/AgentPaneAccess.swift
index 1ac6a787..f2c0d584 100644
--- a/Frameworks/TermindApplication/Agent/AgentPaneAccess.swift
+++ b/Frameworks/TermindApplication/Agent/AgentPaneAccess.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A run-scoped view of this device's open terminals. App adapters own the live
diff --git a/Frameworks/TermindApplication/Agent/AgentSSHInteraction.swift b/Frameworks/TermindApplication/Agent/AgentSSHInteraction.swift
index 99fc2069..34cadffa 100644
--- a/Frameworks/TermindApplication/Agent/AgentSSHInteraction.swift
+++ b/Frameworks/TermindApplication/Agent/AgentSSHInteraction.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Agent/AssistantChatCollaboration.swift b/Frameworks/TermindApplication/Agent/AssistantChatCollaboration.swift
index e767fa03..78beab47 100644
--- a/Frameworks/TermindApplication/Agent/AssistantChatCollaboration.swift
+++ b/Frameworks/TermindApplication/Agent/AssistantChatCollaboration.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Agent/AssistantConversationOperations.swift b/Frameworks/TermindApplication/Agent/AssistantConversationOperations.swift
index d9e95c2b..7d516a33 100644
--- a/Frameworks/TermindApplication/Agent/AssistantConversationOperations.swift
+++ b/Frameworks/TermindApplication/Agent/AssistantConversationOperations.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Agent/AssistantExecutionController.swift b/Frameworks/TermindApplication/Agent/AssistantExecutionController.swift
index b4c2d7b9..867695c2 100644
--- a/Frameworks/TermindApplication/Agent/AssistantExecutionController.swift
+++ b/Frameworks/TermindApplication/Agent/AssistantExecutionController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Logging
diff --git a/Frameworks/TermindApplication/Agent/AssistantLibraryModel.swift b/Frameworks/TermindApplication/Agent/AssistantLibraryModel.swift
index 7da99630..d1dc2cbd 100644
--- a/Frameworks/TermindApplication/Agent/AssistantLibraryModel.swift
+++ b/Frameworks/TermindApplication/Agent/AssistantLibraryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Agent/AssistantModelSelection.swift b/Frameworks/TermindApplication/Agent/AssistantModelSelection.swift
index 2e319015..1874e657 100644
--- a/Frameworks/TermindApplication/Agent/AssistantModelSelection.swift
+++ b/Frameworks/TermindApplication/Agent/AssistantModelSelection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Agent/AssistantNotifications.swift b/Frameworks/TermindApplication/Agent/AssistantNotifications.swift
index 841009f7..d43f687a 100644
--- a/Frameworks/TermindApplication/Agent/AssistantNotifications.swift
+++ b/Frameworks/TermindApplication/Agent/AssistantNotifications.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Agent/ChatSlashCommand.swift b/Frameworks/TermindApplication/Agent/ChatSlashCommand.swift
index 1b64474e..3a147abf 100644
--- a/Frameworks/TermindApplication/Agent/ChatSlashCommand.swift
+++ b/Frameworks/TermindApplication/Agent/ChatSlashCommand.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// One command the composer accepts in place of a message.
diff --git a/Frameworks/TermindApplication/Agent/ChatSlashCommandRegistry.swift b/Frameworks/TermindApplication/Agent/ChatSlashCommandRegistry.swift
index 863c7304..9a40c824 100644
--- a/Frameworks/TermindApplication/Agent/ChatSlashCommandRegistry.swift
+++ b/Frameworks/TermindApplication/Agent/ChatSlashCommandRegistry.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Agent/CommandGenerationCoordinator.swift b/Frameworks/TermindApplication/Agent/CommandGenerationCoordinator.swift
index 6b1cd395..518a6c99 100644
--- a/Frameworks/TermindApplication/Agent/CommandGenerationCoordinator.swift
+++ b/Frameworks/TermindApplication/Agent/CommandGenerationCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum CommandGenerationError: LocalizedError, Sendable {
diff --git a/Frameworks/TermindApplication/Agent/CommandGeneratorService.swift b/Frameworks/TermindApplication/Agent/CommandGeneratorService.swift
index 9b887df4..5e11a676 100644
--- a/Frameworks/TermindApplication/Agent/CommandGeneratorService.swift
+++ b/Frameworks/TermindApplication/Agent/CommandGeneratorService.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Agent/ContextAttachmentLoading.swift b/Frameworks/TermindApplication/Agent/ContextAttachmentLoading.swift
index 2d60a8d8..af29396b 100644
--- a/Frameworks/TermindApplication/Agent/ContextAttachmentLoading.swift
+++ b/Frameworks/TermindApplication/Agent/ContextAttachmentLoading.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Bounded attachment decoding is supplied by Infrastructure, never by a view.
diff --git a/Frameworks/TermindApplication/Agent/ConversationComposerState.swift b/Frameworks/TermindApplication/Agent/ConversationComposerState.swift
index fc018b6d..3b307541 100644
--- a/Frameworks/TermindApplication/Agent/ConversationComposerState.swift
+++ b/Frameworks/TermindApplication/Agent/ConversationComposerState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Draft and attachment state owned by the composer rather than the runtime or
diff --git a/Frameworks/TermindApplication/Agent/ConversationModel.swift b/Frameworks/TermindApplication/Agent/ConversationModel.swift
index e93e59e6..07a183d5 100644
--- a/Frameworks/TermindApplication/Agent/ConversationModel.swift
+++ b/Frameworks/TermindApplication/Agent/ConversationModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Agent/ConversationTitleController.swift b/Frameworks/TermindApplication/Agent/ConversationTitleController.swift
index fff55a51..95ade7e6 100644
--- a/Frameworks/TermindApplication/Agent/ConversationTitleController.swift
+++ b/Frameworks/TermindApplication/Agent/ConversationTitleController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Agent/MCPAuthorizationPrompt.swift b/Frameworks/TermindApplication/Agent/MCPAuthorizationPrompt.swift
index 2f85cdf3..a173da0b 100644
--- a/Frameworks/TermindApplication/Agent/MCPAuthorizationPrompt.swift
+++ b/Frameworks/TermindApplication/Agent/MCPAuthorizationPrompt.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Agent/MCPToolApprovalPolicy.swift b/Frameworks/TermindApplication/Agent/MCPToolApprovalPolicy.swift
index 9fbd786f..9999a496 100644
--- a/Frameworks/TermindApplication/Agent/MCPToolApprovalPolicy.swift
+++ b/Frameworks/TermindApplication/Agent/MCPToolApprovalPolicy.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
nonisolated extension MCPTool {
diff --git a/Frameworks/TermindApplication/Agent/MemoryIndexedAgentRepository.swift b/Frameworks/TermindApplication/Agent/MemoryIndexedAgentRepository.swift
index c970e0c4..c856e6a4 100644
--- a/Frameworks/TermindApplication/Agent/MemoryIndexedAgentRepository.swift
+++ b/Frameworks/TermindApplication/Agent/MemoryIndexedAgentRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Agent/TerminalCommandDraftController.swift b/Frameworks/TermindApplication/Agent/TerminalCommandDraftController.swift
index 60d0a701..047e015d 100644
--- a/Frameworks/TermindApplication/Agent/TerminalCommandDraftController.swift
+++ b/Frameworks/TermindApplication/Agent/TerminalCommandDraftController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum TerminalDraftError: LocalizedError, Sendable {
diff --git a/Frameworks/TermindApplication/Agent/TermindAgentPolicy.swift b/Frameworks/TermindApplication/Agent/TermindAgentPolicy.swift
index 8fc15a62..df409187 100644
--- a/Frameworks/TermindApplication/Agent/TermindAgentPolicy.swift
+++ b/Frameworks/TermindApplication/Agent/TermindAgentPolicy.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Agent/TermindAgentPresentation.swift b/Frameworks/TermindApplication/Agent/TermindAgentPresentation.swift
index b5cfdb24..456494e9 100644
--- a/Frameworks/TermindApplication/Agent/TermindAgentPresentation.swift
+++ b/Frameworks/TermindApplication/Agent/TermindAgentPresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Agent/TermindToolName.swift b/Frameworks/TermindApplication/Agent/TermindToolName.swift
index 88f63246..d62b5514 100644
--- a/Frameworks/TermindApplication/Agent/TermindToolName.swift
+++ b/Frameworks/TermindApplication/Agent/TermindToolName.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Canonical names of the tools Termind registers with the agent runtime.
diff --git a/Frameworks/TermindApplication/AgentSkillLibrary.swift b/Frameworks/TermindApplication/AgentSkillLibrary.swift
index 8272f80f..158e52c4 100644
--- a/Frameworks/TermindApplication/AgentSkillLibrary.swift
+++ b/Frameworks/TermindApplication/AgentSkillLibrary.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/AppLanguage.swift b/Frameworks/TermindApplication/AppLanguage.swift
index c200b918..4bdfba9d 100644
--- a/Frameworks/TermindApplication/AppLanguage.swift
+++ b/Frameworks/TermindApplication/AppLanguage.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum AppLocalization {
diff --git a/Frameworks/TermindApplication/Connections/ConnectionJourney.swift b/Frameworks/TermindApplication/Connections/ConnectionJourney.swift
index 42374cf6..46e88755 100644
--- a/Frameworks/TermindApplication/Connections/ConnectionJourney.swift
+++ b/Frameworks/TermindApplication/Connections/ConnectionJourney.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/HostOperationAccess.swift b/Frameworks/TermindApplication/Connections/HostOperationAccess.swift
index 4909536b..df8207f0 100644
--- a/Frameworks/TermindApplication/Connections/HostOperationAccess.swift
+++ b/Frameworks/TermindApplication/Connections/HostOperationAccess.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/RemoteConnectionURL.swift b/Frameworks/TermindApplication/Connections/RemoteConnectionURL.swift
index 32591a7a..fdbc862a 100644
--- a/Frameworks/TermindApplication/Connections/RemoteConnectionURL.swift
+++ b/Frameworks/TermindApplication/Connections/RemoteConnectionURL.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/RemoteSessionAuthenticationContinuation.swift b/Frameworks/TermindApplication/Connections/RemoteSessionAuthenticationContinuation.swift
index 675a4401..c1c99346 100644
--- a/Frameworks/TermindApplication/Connections/RemoteSessionAuthenticationContinuation.swift
+++ b/Frameworks/TermindApplication/Connections/RemoteSessionAuthenticationContinuation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/RemoteSessionConnectionController.swift b/Frameworks/TermindApplication/Connections/RemoteSessionConnectionController.swift
index e5404b89..0d584f52 100644
--- a/Frameworks/TermindApplication/Connections/RemoteSessionConnectionController.swift
+++ b/Frameworks/TermindApplication/Connections/RemoteSessionConnectionController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/RemoteSessionHostStore.swift b/Frameworks/TermindApplication/Connections/RemoteSessionHostStore.swift
index 8901c550..d7863abe 100644
--- a/Frameworks/TermindApplication/Connections/RemoteSessionHostStore.swift
+++ b/Frameworks/TermindApplication/Connections/RemoteSessionHostStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/ResumableRouteRequest.swift b/Frameworks/TermindApplication/Connections/ResumableRouteRequest.swift
index 42b795d6..2de4732b 100644
--- a/Frameworks/TermindApplication/Connections/ResumableRouteRequest.swift
+++ b/Frameworks/TermindApplication/Connections/ResumableRouteRequest.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/SSHAdditionalConnectionSnapshot.swift b/Frameworks/TermindApplication/Connections/SSHAdditionalConnectionSnapshot.swift
index d75194fe..6cdb588f 100644
--- a/Frameworks/TermindApplication/Connections/SSHAdditionalConnectionSnapshot.swift
+++ b/Frameworks/TermindApplication/Connections/SSHAdditionalConnectionSnapshot.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/SSHAgentForwarding.swift b/Frameworks/TermindApplication/Connections/SSHAgentForwarding.swift
index 3bbefd2b..29851e59 100644
--- a/Frameworks/TermindApplication/Connections/SSHAgentForwarding.swift
+++ b/Frameworks/TermindApplication/Connections/SSHAgentForwarding.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A connection-scoped capability. No private material crosses the SSH protocol.
diff --git a/Frameworks/TermindApplication/Connections/SSHAuthenticationPrompt.swift b/Frameworks/TermindApplication/Connections/SSHAuthenticationPrompt.swift
index 024c0d42..036d60a1 100644
--- a/Frameworks/TermindApplication/Connections/SSHAuthenticationPrompt.swift
+++ b/Frameworks/TermindApplication/Connections/SSHAuthenticationPrompt.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/SSHConnectionPreparation.swift b/Frameworks/TermindApplication/Connections/SSHConnectionPreparation.swift
index 2916e573..e7e1660c 100644
--- a/Frameworks/TermindApplication/Connections/SSHConnectionPreparation.swift
+++ b/Frameworks/TermindApplication/Connections/SSHConnectionPreparation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/SSHConnectionRoute.swift b/Frameworks/TermindApplication/Connections/SSHConnectionRoute.swift
index cc894837..64c698f0 100644
--- a/Frameworks/TermindApplication/Connections/SSHConnectionRoute.swift
+++ b/Frameworks/TermindApplication/Connections/SSHConnectionRoute.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/SSHKeyboardInteractiveChallenge.swift b/Frameworks/TermindApplication/Connections/SSHKeyboardInteractiveChallenge.swift
index 509e2174..1da97fb5 100644
--- a/Frameworks/TermindApplication/Connections/SSHKeyboardInteractiveChallenge.swift
+++ b/Frameworks/TermindApplication/Connections/SSHKeyboardInteractiveChallenge.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Server-authored authentication data. Neither challenges nor answers belong
diff --git a/Frameworks/TermindApplication/Connections/TailscaleConnections.swift b/Frameworks/TermindApplication/Connections/TailscaleConnections.swift
index 0124c893..e893c57e 100644
--- a/Frameworks/TermindApplication/Connections/TailscaleConnections.swift
+++ b/Frameworks/TermindApplication/Connections/TailscaleConnections.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/TailscalePingResult.swift b/Frameworks/TermindApplication/Connections/TailscalePingResult.swift
index d73e5f3e..7164c298 100644
--- a/Frameworks/TermindApplication/Connections/TailscalePingResult.swift
+++ b/Frameworks/TermindApplication/Connections/TailscalePingResult.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct TailscalePingResult: Sendable, Equatable {
diff --git a/Frameworks/TermindApplication/Connections/TerminalRouteSnapshot.swift b/Frameworks/TermindApplication/Connections/TerminalRouteSnapshot.swift
index c94daae8..28518393 100644
--- a/Frameworks/TermindApplication/Connections/TerminalRouteSnapshot.swift
+++ b/Frameworks/TermindApplication/Connections/TerminalRouteSnapshot.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/VaultRemoteChangePlan.swift b/Frameworks/TermindApplication/Connections/VaultRemoteChangePlan.swift
index 039b6698..f276fa82 100644
--- a/Frameworks/TermindApplication/Connections/VaultRemoteChangePlan.swift
+++ b/Frameworks/TermindApplication/Connections/VaultRemoteChangePlan.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Connections/WakeOnLANController.swift b/Frameworks/TermindApplication/Connections/WakeOnLANController.swift
index 79ca1b24..a4f35c51 100644
--- a/Frameworks/TermindApplication/Connections/WakeOnLANController.swift
+++ b/Frameworks/TermindApplication/Connections/WakeOnLANController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Events/HostDeletionHandlers.swift b/Frameworks/TermindApplication/Events/HostDeletionHandlers.swift
index 8b5b6378..7035683c 100644
--- a/Frameworks/TermindApplication/Events/HostDeletionHandlers.swift
+++ b/Frameworks/TermindApplication/Events/HostDeletionHandlers.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Events/OutboxRunner.swift b/Frameworks/TermindApplication/Events/OutboxRunner.swift
index 30f48916..560f4946 100644
--- a/Frameworks/TermindApplication/Events/OutboxRunner.swift
+++ b/Frameworks/TermindApplication/Events/OutboxRunner.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Executes durable jobs one at a time. Persisted status is the idempotency
diff --git a/Frameworks/TermindApplication/Events/OutboxStore.swift b/Frameworks/TermindApplication/Events/OutboxStore.swift
index 25dece1f..8bb5d095 100644
--- a/Frameworks/TermindApplication/Events/OutboxStore.swift
+++ b/Frameworks/TermindApplication/Events/OutboxStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/AIConfigurationModel.swift b/Frameworks/TermindApplication/FeatureModels/AIConfigurationModel.swift
index a4de33d7..ceec3828 100644
--- a/Frameworks/TermindApplication/FeatureModels/AIConfigurationModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/AIConfigurationModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/AppReviewController.swift b/Frameworks/TermindApplication/FeatureModels/AppReviewController.swift
index 89b50f5d..b4635b3a 100644
--- a/Frameworks/TermindApplication/FeatureModels/AppReviewController.swift
+++ b/Frameworks/TermindApplication/FeatureModels/AppReviewController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
diff --git a/Frameworks/TermindApplication/FeatureModels/CommandHistoryModel.swift b/Frameworks/TermindApplication/FeatureModels/CommandHistoryModel.swift
index 2a9e6242..247956e1 100644
--- a/Frameworks/TermindApplication/FeatureModels/CommandHistoryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/CommandHistoryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/ConnectionHistoryMenuSnapshot.swift b/Frameworks/TermindApplication/FeatureModels/ConnectionHistoryMenuSnapshot.swift
index 70d9b258..9df40f05 100644
--- a/Frameworks/TermindApplication/FeatureModels/ConnectionHistoryMenuSnapshot.swift
+++ b/Frameworks/TermindApplication/FeatureModels/ConnectionHistoryMenuSnapshot.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/ConnectionHistoryModel.swift b/Frameworks/TermindApplication/FeatureModels/ConnectionHistoryModel.swift
index c616df9b..30a2d502 100644
--- a/Frameworks/TermindApplication/FeatureModels/ConnectionHistoryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/ConnectionHistoryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/CredentialLibraryModel.swift b/Frameworks/TermindApplication/FeatureModels/CredentialLibraryModel.swift
index 10ddb5a4..4e8929ae 100644
--- a/Frameworks/TermindApplication/FeatureModels/CredentialLibraryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/CredentialLibraryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/DeviceDirectoryModel.swift b/Frameworks/TermindApplication/FeatureModels/DeviceDirectoryModel.swift
index ce2915f0..57f1c056 100644
--- a/Frameworks/TermindApplication/FeatureModels/DeviceDirectoryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/DeviceDirectoryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/DiagnosisController.swift b/Frameworks/TermindApplication/FeatureModels/DiagnosisController.swift
index 6d04083d..a5d7c0cb 100644
--- a/Frameworks/TermindApplication/FeatureModels/DiagnosisController.swift
+++ b/Frameworks/TermindApplication/FeatureModels/DiagnosisController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
diff --git a/Frameworks/TermindApplication/FeatureModels/ForwardingLibraryModel.swift b/Frameworks/TermindApplication/FeatureModels/ForwardingLibraryModel.swift
index e27250a7..cd47e99e 100644
--- a/Frameworks/TermindApplication/FeatureModels/ForwardingLibraryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/ForwardingLibraryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/HostCustomIdentityDraft.swift b/Frameworks/TermindApplication/FeatureModels/HostCustomIdentityDraft.swift
index d2fdaa50..15ad82cd 100644
--- a/Frameworks/TermindApplication/FeatureModels/HostCustomIdentityDraft.swift
+++ b/Frameworks/TermindApplication/FeatureModels/HostCustomIdentityDraft.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/HostLibraryModel+LocalNetwork.swift b/Frameworks/TermindApplication/FeatureModels/HostLibraryModel+LocalNetwork.swift
index d47994d4..9b8c1cce 100644
--- a/Frameworks/TermindApplication/FeatureModels/HostLibraryModel+LocalNetwork.swift
+++ b/Frameworks/TermindApplication/FeatureModels/HostLibraryModel+LocalNetwork.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
import struct TermindDomain.Host
diff --git a/Frameworks/TermindApplication/FeatureModels/HostLibraryModel.swift b/Frameworks/TermindApplication/FeatureModels/HostLibraryModel.swift
index a7ff9508..e0a64ac0 100644
--- a/Frameworks/TermindApplication/FeatureModels/HostLibraryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/HostLibraryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/HostMACAddressModel.swift b/Frameworks/TermindApplication/FeatureModels/HostMACAddressModel.swift
index 942242c8..15169697 100644
--- a/Frameworks/TermindApplication/FeatureModels/HostMACAddressModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/HostMACAddressModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/KeyExportModel.swift b/Frameworks/TermindApplication/FeatureModels/KeyExportModel.swift
index c77fc499..e146929f 100644
--- a/Frameworks/TermindApplication/FeatureModels/KeyExportModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/KeyExportModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/KeyExportOptions.swift b/Frameworks/TermindApplication/FeatureModels/KeyExportOptions.swift
index 5ffbce38..adc1442d 100644
--- a/Frameworks/TermindApplication/FeatureModels/KeyExportOptions.swift
+++ b/Frameworks/TermindApplication/FeatureModels/KeyExportOptions.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/KnownHostsLibraryModel.swift b/Frameworks/TermindApplication/FeatureModels/KnownHostsLibraryModel.swift
index 58185394..3baf6212 100644
--- a/Frameworks/TermindApplication/FeatureModels/KnownHostsLibraryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/KnownHostsLibraryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/LibraryExpansionState.swift b/Frameworks/TermindApplication/FeatureModels/LibraryExpansionState.swift
index 8230710d..56db1729 100644
--- a/Frameworks/TermindApplication/FeatureModels/LibraryExpansionState.swift
+++ b/Frameworks/TermindApplication/FeatureModels/LibraryExpansionState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/LibrarySectionLayout.swift b/Frameworks/TermindApplication/FeatureModels/LibrarySectionLayout.swift
index d29ec783..5ad72e47 100644
--- a/Frameworks/TermindApplication/FeatureModels/LibrarySectionLayout.swift
+++ b/Frameworks/TermindApplication/FeatureModels/LibrarySectionLayout.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/LocalDiscoveryModel.swift b/Frameworks/TermindApplication/FeatureModels/LocalDiscoveryModel.swift
index c5ea3785..b27a6189 100644
--- a/Frameworks/TermindApplication/FeatureModels/LocalDiscoveryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/LocalDiscoveryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/MemoryModel.swift b/Frameworks/TermindApplication/FeatureModels/MemoryModel.swift
index 24e8299a..04afff53 100644
--- a/Frameworks/TermindApplication/FeatureModels/MemoryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/MemoryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/FeatureModels/NotificationSettingsModel.swift b/Frameworks/TermindApplication/FeatureModels/NotificationSettingsModel.swift
index ddb8fc61..5219745c 100644
--- a/Frameworks/TermindApplication/FeatureModels/NotificationSettingsModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/NotificationSettingsModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/PortForwardingEditorPolicy.swift b/Frameworks/TermindApplication/FeatureModels/PortForwardingEditorPolicy.swift
index 64ca6a27..1add9f67 100644
--- a/Frameworks/TermindApplication/FeatureModels/PortForwardingEditorPolicy.swift
+++ b/Frameworks/TermindApplication/FeatureModels/PortForwardingEditorPolicy.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/SFTPHistoryModel.swift b/Frameworks/TermindApplication/FeatureModels/SFTPHistoryModel.swift
index a6281d4f..219781c9 100644
--- a/Frameworks/TermindApplication/FeatureModels/SFTPHistoryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/SFTPHistoryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/SFTPSettingsModel.swift b/Frameworks/TermindApplication/FeatureModels/SFTPSettingsModel.swift
index 9b491dd4..58abea98 100644
--- a/Frameworks/TermindApplication/FeatureModels/SFTPSettingsModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/SFTPSettingsModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/SSHImportModel.swift b/Frameworks/TermindApplication/FeatureModels/SSHImportModel.swift
index 1a19697a..c676e608 100644
--- a/Frameworks/TermindApplication/FeatureModels/SSHImportModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/SSHImportModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/SSHKeyReplacementDraft.swift b/Frameworks/TermindApplication/FeatureModels/SSHKeyReplacementDraft.swift
index 8a613cb3..c20920bb 100644
--- a/Frameworks/TermindApplication/FeatureModels/SSHKeyReplacementDraft.swift
+++ b/Frameworks/TermindApplication/FeatureModels/SSHKeyReplacementDraft.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Retains only fields cleared automatically while replacing an existing private key.
diff --git a/Frameworks/TermindApplication/FeatureModels/SSHSettingsModel.swift b/Frameworks/TermindApplication/FeatureModels/SSHSettingsModel.swift
index 186d3ca3..a82a0620 100644
--- a/Frameworks/TermindApplication/FeatureModels/SSHSettingsModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/SSHSettingsModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/SecurityKeyEditorModel.swift b/Frameworks/TermindApplication/FeatureModels/SecurityKeyEditorModel.swift
index b97d50f2..5f49b0fb 100644
--- a/Frameworks/TermindApplication/FeatureModels/SecurityKeyEditorModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/SecurityKeyEditorModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/SkillLibraryModel.swift b/Frameworks/TermindApplication/FeatureModels/SkillLibraryModel.swift
index 916188ba..9d9bb6d8 100644
--- a/Frameworks/TermindApplication/FeatureModels/SkillLibraryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/SkillLibraryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/FeatureModels/SnippetLibraryModel.swift b/Frameworks/TermindApplication/FeatureModels/SnippetLibraryModel.swift
index 3dcfe852..4fb09267 100644
--- a/Frameworks/TermindApplication/FeatureModels/SnippetLibraryModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/SnippetLibraryModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/SnippetTimestamp.swift b/Frameworks/TermindApplication/FeatureModels/SnippetTimestamp.swift
index dd928f67..bf489ed6 100644
--- a/Frameworks/TermindApplication/FeatureModels/SnippetTimestamp.swift
+++ b/Frameworks/TermindApplication/FeatureModels/SnippetTimestamp.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/TailscaleGroupEditor.swift b/Frameworks/TermindApplication/FeatureModels/TailscaleGroupEditor.swift
index 60e612b0..30e369eb 100644
--- a/Frameworks/TermindApplication/FeatureModels/TailscaleGroupEditor.swift
+++ b/Frameworks/TermindApplication/FeatureModels/TailscaleGroupEditor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/TailscaleModel.swift b/Frameworks/TermindApplication/FeatureModels/TailscaleModel.swift
index bd47b820..354a1d89 100644
--- a/Frameworks/TermindApplication/FeatureModels/TailscaleModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/TailscaleModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/TerminalCustomThemeDraft.swift b/Frameworks/TermindApplication/FeatureModels/TerminalCustomThemeDraft.swift
index e0c081bc..e052b92c 100644
--- a/Frameworks/TermindApplication/FeatureModels/TerminalCustomThemeDraft.swift
+++ b/Frameworks/TermindApplication/FeatureModels/TerminalCustomThemeDraft.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/TerminalExperienceSettingsModel.swift b/Frameworks/TermindApplication/FeatureModels/TerminalExperienceSettingsModel.swift
index 6950b2fa..b968d6a4 100644
--- a/Frameworks/TermindApplication/FeatureModels/TerminalExperienceSettingsModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/TerminalExperienceSettingsModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/TerminalSettingsModel.swift b/Frameworks/TermindApplication/FeatureModels/TerminalSettingsModel.swift
index 9d9fd953..49a95c51 100644
--- a/Frameworks/TermindApplication/FeatureModels/TerminalSettingsModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/TerminalSettingsModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/FeatureModels/WorkspaceSettingsModel.swift b/Frameworks/TermindApplication/FeatureModels/WorkspaceSettingsModel.swift
index a42c9df4..df56cc74 100644
--- a/Frameworks/TermindApplication/FeatureModels/WorkspaceSettingsModel.swift
+++ b/Frameworks/TermindApplication/FeatureModels/WorkspaceSettingsModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/HistoryLimits.swift b/Frameworks/TermindApplication/HistoryLimits.swift
index d1cbbaad..28a5f20b 100644
--- a/Frameworks/TermindApplication/HistoryLimits.swift
+++ b/Frameworks/TermindApplication/HistoryLimits.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
public nonisolated enum HistoryLimits {
public static let retainedEntries = 250
}
diff --git a/Frameworks/TermindApplication/HostRepository.swift b/Frameworks/TermindApplication/HostRepository.swift
index ebe85988..8bde5909 100644
--- a/Frameworks/TermindApplication/HostRepository.swift
+++ b/Frameworks/TermindApplication/HostRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Logging/ApplicationLogging.swift b/Frameworks/TermindApplication/Logging/ApplicationLogging.swift
index 166c7606..4aeb1c41 100644
--- a/Frameworks/TermindApplication/Logging/ApplicationLogging.swift
+++ b/Frameworks/TermindApplication/Logging/ApplicationLogging.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Logging
diff --git a/Frameworks/TermindApplication/MCPAuthorization.swift b/Frameworks/TermindApplication/MCPAuthorization.swift
index f04f8bdc..0b4942c1 100644
--- a/Frameworks/TermindApplication/MCPAuthorization.swift
+++ b/Frameworks/TermindApplication/MCPAuthorization.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Observation
diff --git a/Frameworks/TermindApplication/MCPImport.swift b/Frameworks/TermindApplication/MCPImport.swift
index 1e287410..3a326ad1 100644
--- a/Frameworks/TermindApplication/MCPImport.swift
+++ b/Frameworks/TermindApplication/MCPImport.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/MemoryDateAnnotations.swift b/Frameworks/TermindApplication/MemoryDateAnnotations.swift
index 7f863337..81142b4d 100644
--- a/Frameworks/TermindApplication/MemoryDateAnnotations.swift
+++ b/Frameworks/TermindApplication/MemoryDateAnnotations.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/MemoryPersisting.swift b/Frameworks/TermindApplication/MemoryPersisting.swift
index 1001d18a..0f46d0fe 100644
--- a/Frameworks/TermindApplication/MemoryPersisting.swift
+++ b/Frameworks/TermindApplication/MemoryPersisting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Metrics/MetricsClock.swift b/Frameworks/TermindApplication/Metrics/MetricsClock.swift
index aef1118f..95fb7f29 100644
--- a/Frameworks/TermindApplication/Metrics/MetricsClock.swift
+++ b/Frameworks/TermindApplication/Metrics/MetricsClock.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct MetricsClock: Sendable {
diff --git a/Frameworks/TermindApplication/Metrics/MetricsSnapshot.swift b/Frameworks/TermindApplication/Metrics/MetricsSnapshot.swift
index a29a72a2..0eaf0879 100644
--- a/Frameworks/TermindApplication/Metrics/MetricsSnapshot.swift
+++ b/Frameworks/TermindApplication/Metrics/MetricsSnapshot.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Metrics/ServerMetricsModel.swift b/Frameworks/TermindApplication/Metrics/ServerMetricsModel.swift
index 0260cfd3..4283c23e 100644
--- a/Frameworks/TermindApplication/Metrics/ServerMetricsModel.swift
+++ b/Frameworks/TermindApplication/Metrics/ServerMetricsModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/MetricsConfigurationStoring.swift b/Frameworks/TermindApplication/MetricsConfigurationStoring.swift
index bdf4057b..6c51bff8 100644
--- a/Frameworks/TermindApplication/MetricsConfigurationStoring.swift
+++ b/Frameworks/TermindApplication/MetricsConfigurationStoring.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
@MainActor
diff --git a/Frameworks/TermindApplication/MetricsSampling.swift b/Frameworks/TermindApplication/MetricsSampling.swift
index b727d489..9da8608b 100644
--- a/Frameworks/TermindApplication/MetricsSampling.swift
+++ b/Frameworks/TermindApplication/MetricsSampling.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
public nonisolated protocol MetricsSampling: Sendable {
diff --git a/Frameworks/TermindApplication/ModelProviderServiceAccount.swift b/Frameworks/TermindApplication/ModelProviderServiceAccount.swift
index d46e12a0..cf7f6e25 100644
--- a/Frameworks/TermindApplication/ModelProviderServiceAccount.swift
+++ b/Frameworks/TermindApplication/ModelProviderServiceAccount.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/NotificationBadgeCoordinator.swift b/Frameworks/TermindApplication/NotificationBadgeCoordinator.swift
index 7b737a75..bf853cf9 100644
--- a/Frameworks/TermindApplication/NotificationBadgeCoordinator.swift
+++ b/Frameworks/TermindApplication/NotificationBadgeCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Observation
/// Watches only live app state. Badge counts never enter settings or persistence.
diff --git a/Frameworks/TermindApplication/NotificationPreferencesPersisting.swift b/Frameworks/TermindApplication/NotificationPreferencesPersisting.swift
index 6903ab02..e339f934 100644
--- a/Frameworks/TermindApplication/NotificationPreferencesPersisting.swift
+++ b/Frameworks/TermindApplication/NotificationPreferencesPersisting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/NotificationSending.swift b/Frameworks/TermindApplication/NotificationSending.swift
index 1a69767d..c8c0c473 100644
--- a/Frameworks/TermindApplication/NotificationSending.swift
+++ b/Frameworks/TermindApplication/NotificationSending.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum NotificationAuthorization: Sendable {
diff --git a/Frameworks/TermindApplication/Repositories/ConnectionHistoryRepository.swift b/Frameworks/TermindApplication/Repositories/ConnectionHistoryRepository.swift
index 73e0e55e..51518877 100644
--- a/Frameworks/TermindApplication/Repositories/ConnectionHistoryRepository.swift
+++ b/Frameworks/TermindApplication/Repositories/ConnectionHistoryRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Repositories/DeviceDirectoryRepository.swift b/Frameworks/TermindApplication/Repositories/DeviceDirectoryRepository.swift
index 8075132f..cfc186a9 100644
--- a/Frameworks/TermindApplication/Repositories/DeviceDirectoryRepository.swift
+++ b/Frameworks/TermindApplication/Repositories/DeviceDirectoryRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Repositories/SSHImportBatch.swift b/Frameworks/TermindApplication/Repositories/SSHImportBatch.swift
index 99051e24..63644497 100644
--- a/Frameworks/TermindApplication/Repositories/SSHImportBatch.swift
+++ b/Frameworks/TermindApplication/Repositories/SSHImportBatch.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Repositories/SSHImportReading.swift b/Frameworks/TermindApplication/Repositories/SSHImportReading.swift
index e900d5f9..23547847 100644
--- a/Frameworks/TermindApplication/Repositories/SSHImportReading.swift
+++ b/Frameworks/TermindApplication/Repositories/SSHImportReading.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Repositories/ShellHistoryLoading.swift b/Frameworks/TermindApplication/Repositories/ShellHistoryLoading.swift
index 614d3593..40c4c13e 100644
--- a/Frameworks/TermindApplication/Repositories/ShellHistoryLoading.swift
+++ b/Frameworks/TermindApplication/Repositories/ShellHistoryLoading.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
public nonisolated protocol ShellHistoryLoading: Sendable {
diff --git a/Frameworks/TermindApplication/Repositories/ToolAuditRepository.swift b/Frameworks/TermindApplication/Repositories/ToolAuditRepository.swift
index 08c0390b..90fdcf19 100644
--- a/Frameworks/TermindApplication/Repositories/ToolAuditRepository.swift
+++ b/Frameworks/TermindApplication/Repositories/ToolAuditRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Repositories/VaultStore.swift b/Frameworks/TermindApplication/Repositories/VaultStore.swift
index 657da5f5..063f9373 100644
--- a/Frameworks/TermindApplication/Repositories/VaultStore.swift
+++ b/Frameworks/TermindApplication/Repositories/VaultStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/RepositoryChange.swift b/Frameworks/TermindApplication/RepositoryChange.swift
index 8e458cc1..5f403a67 100644
--- a/Frameworks/TermindApplication/RepositoryChange.swift
+++ b/Frameworks/TermindApplication/RepositoryChange.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum RepositoryChangeReason: String, Hashable, Sendable {
diff --git a/Frameworks/TermindApplication/SFTPNotificationCoordinator.swift b/Frameworks/TermindApplication/SFTPNotificationCoordinator.swift
index a90a6b8b..63e1e3c8 100644
--- a/Frameworks/TermindApplication/SFTPNotificationCoordinator.swift
+++ b/Frameworks/TermindApplication/SFTPNotificationCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/SFTPPreferencesPersisting.swift b/Frameworks/TermindApplication/SFTPPreferencesPersisting.swift
index f3429f85..a0fba840 100644
--- a/Frameworks/TermindApplication/SFTPPreferencesPersisting.swift
+++ b/Frameworks/TermindApplication/SFTPPreferencesPersisting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
@MainActor
diff --git a/Frameworks/TermindApplication/SSHConnectionTypes.swift b/Frameworks/TermindApplication/SSHConnectionTypes.swift
index 5661db58..29bf33da 100644
--- a/Frameworks/TermindApplication/SSHConnectionTypes.swift
+++ b/Frameworks/TermindApplication/SSHConnectionTypes.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/SSHPreferencesPersisting.swift b/Frameworks/TermindApplication/SSHPreferencesPersisting.swift
index ae531a59..289feb36 100644
--- a/Frameworks/TermindApplication/SSHPreferencesPersisting.swift
+++ b/Frameworks/TermindApplication/SSHPreferencesPersisting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
@MainActor
diff --git a/Frameworks/TermindApplication/SSHRouteEvent.swift b/Frameworks/TermindApplication/SSHRouteEvent.swift
index bf53ae13..80ac3278 100644
--- a/Frameworks/TermindApplication/SSHRouteEvent.swift
+++ b/Frameworks/TermindApplication/SSHRouteEvent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/SSHRouteHopConfiguration.swift b/Frameworks/TermindApplication/SSHRouteHopConfiguration.swift
index 274e49d3..e9bb2383 100644
--- a/Frameworks/TermindApplication/SSHRouteHopConfiguration.swift
+++ b/Frameworks/TermindApplication/SSHRouteHopConfiguration.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/SSHSecret.swift b/Frameworks/TermindApplication/SSHSecret.swift
index ec2b949d..528355bf 100644
--- a/Frameworks/TermindApplication/SSHSecret.swift
+++ b/Frameworks/TermindApplication/SSHSecret.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
diff --git a/Frameworks/TermindApplication/SSHTransportProxy.swift b/Frameworks/TermindApplication/SSHTransportProxy.swift
index 1c9c1186..81a3638f 100644
--- a/Frameworks/TermindApplication/SSHTransportProxy.swift
+++ b/Frameworks/TermindApplication/SSHTransportProxy.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/SecretMemory+Raw.swift b/Frameworks/TermindApplication/SecretMemory+Raw.swift
index bc362fba..5eea6769 100644
--- a/Frameworks/TermindApplication/SecretMemory+Raw.swift
+++ b/Frameworks/TermindApplication/SecretMemory+Raw.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
nonisolated extension SecretMemory {
diff --git a/Frameworks/TermindApplication/SecretStoring.swift b/Frameworks/TermindApplication/SecretStoring.swift
index 6f45be08..92d8127c 100644
--- a/Frameworks/TermindApplication/SecretStoring.swift
+++ b/Frameworks/TermindApplication/SecretStoring.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/SecurityKeyCredential.swift b/Frameworks/TermindApplication/SecurityKeyCredential.swift
index 743f954f..ec441461 100644
--- a/Frameworks/TermindApplication/SecurityKeyCredential.swift
+++ b/Frameworks/TermindApplication/SecurityKeyCredential.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/SecurityKeySigningSession.swift b/Frameworks/TermindApplication/SecurityKeySigningSession.swift
index b05ba684..456f4387 100644
--- a/Frameworks/TermindApplication/SecurityKeySigningSession.swift
+++ b/Frameworks/TermindApplication/SecurityKeySigningSession.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Owns one form's signing attempt and delivers exactly one response, including cancellation.
diff --git a/Frameworks/TermindApplication/SessionReconnectController.swift b/Frameworks/TermindApplication/SessionReconnectController.swift
index 23b75502..6d375920 100644
--- a/Frameworks/TermindApplication/SessionReconnectController.swift
+++ b/Frameworks/TermindApplication/SessionReconnectController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct ReconnectPolicy: Sendable, Equatable {
diff --git a/Frameworks/TermindApplication/SettingsDraftMerge.swift b/Frameworks/TermindApplication/SettingsDraftMerge.swift
index 0bc55273..783b1eb8 100644
--- a/Frameworks/TermindApplication/SettingsDraftMerge.swift
+++ b/Frameworks/TermindApplication/SettingsDraftMerge.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Three-way merging for explicit-save editors. Unedited fields follow the latest replica.
diff --git a/Frameworks/TermindApplication/SettingsKey.swift b/Frameworks/TermindApplication/SettingsKey.swift
index a80fbdf6..38f83ae4 100644
--- a/Frameworks/TermindApplication/SettingsKey.swift
+++ b/Frameworks/TermindApplication/SettingsKey.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/SkillLibraryPersisting.swift b/Frameworks/TermindApplication/SkillLibraryPersisting.swift
index ec39f8d7..5cd8f2ba 100644
--- a/Frameworks/TermindApplication/SkillLibraryPersisting.swift
+++ b/Frameworks/TermindApplication/SkillLibraryPersisting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindApplication/Speech/SpeechTranscription.swift b/Frameworks/TermindApplication/Speech/SpeechTranscription.swift
index dfda6136..23d09d52 100644
--- a/Frameworks/TermindApplication/Speech/SpeechTranscription.swift
+++ b/Frameworks/TermindApplication/Speech/SpeechTranscription.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated public enum SpeechTranscriptionEvent: Equatable, Sendable {
diff --git a/Frameworks/TermindApplication/Speech/UserInputInteractionModel.swift b/Frameworks/TermindApplication/Speech/UserInputInteractionModel.swift
index 0deded2e..8af9562f 100644
--- a/Frameworks/TermindApplication/Speech/UserInputInteractionModel.swift
+++ b/Frameworks/TermindApplication/Speech/UserInputInteractionModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Coordinates one question surface without duplicating the conversation's answers or request queue.
diff --git a/Frameworks/TermindApplication/Speech/UserInputSpeechSession.swift b/Frameworks/TermindApplication/Speech/UserInputSpeechSession.swift
index e35211d8..3cd08b3f 100644
--- a/Frameworks/TermindApplication/Speech/UserInputSpeechSession.swift
+++ b/Frameworks/TermindApplication/Speech/UserInputSpeechSession.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
diff --git a/Frameworks/TermindApplication/StoredSSHKeyCredential.swift b/Frameworks/TermindApplication/StoredSSHKeyCredential.swift
index 233a0dac..3fe86044 100644
--- a/Frameworks/TermindApplication/StoredSSHKeyCredential.swift
+++ b/Frameworks/TermindApplication/StoredSSHKeyCredential.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct SecureEnclaveKeyCredential: Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindApplication/TelnetConnectionTypes.swift b/Frameworks/TermindApplication/TelnetConnectionTypes.swift
index 5af835e7..0dc22003 100644
--- a/Frameworks/TermindApplication/TelnetConnectionTypes.swift
+++ b/Frameworks/TermindApplication/TelnetConnectionTypes.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Terminal/RemoteSessionBackend.swift b/Frameworks/TermindApplication/Terminal/RemoteSessionBackend.swift
index d0029483..65e01e99 100644
--- a/Frameworks/TermindApplication/Terminal/RemoteSessionBackend.swift
+++ b/Frameworks/TermindApplication/Terminal/RemoteSessionBackend.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Terminal/RemoteSessionCloseCoordinator.swift b/Frameworks/TermindApplication/Terminal/RemoteSessionCloseCoordinator.swift
index 09467e9b..7b011c2a 100644
--- a/Frameworks/TermindApplication/Terminal/RemoteSessionCloseCoordinator.swift
+++ b/Frameworks/TermindApplication/Terminal/RemoteSessionCloseCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Terminal/ResumableTerminalSession.swift b/Frameworks/TermindApplication/Terminal/ResumableTerminalSession.swift
index e1767aeb..8575545b 100644
--- a/Frameworks/TermindApplication/Terminal/ResumableTerminalSession.swift
+++ b/Frameworks/TermindApplication/Terminal/ResumableTerminalSession.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Terminal/TerminalContextCoordinator.swift b/Frameworks/TermindApplication/Terminal/TerminalContextCoordinator.swift
index c99db0c3..ae9c07c9 100644
--- a/Frameworks/TermindApplication/Terminal/TerminalContextCoordinator.swift
+++ b/Frameworks/TermindApplication/Terminal/TerminalContextCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Terminal/TerminalFindController.swift b/Frameworks/TermindApplication/Terminal/TerminalFindController.swift
index 5c5b4da7..e77a4e96 100644
--- a/Frameworks/TermindApplication/Terminal/TerminalFindController.swift
+++ b/Frameworks/TermindApplication/Terminal/TerminalFindController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/TerminalCommandMonitor.swift b/Frameworks/TermindApplication/TerminalCommandMonitor.swift
index dc28b85c..699e55ee 100644
--- a/Frameworks/TermindApplication/TerminalCommandMonitor.swift
+++ b/Frameworks/TermindApplication/TerminalCommandMonitor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/TerminalNotificationCoordinator.swift b/Frameworks/TermindApplication/TerminalNotificationCoordinator.swift
index c2392e3f..5a853712 100644
--- a/Frameworks/TermindApplication/TerminalNotificationCoordinator.swift
+++ b/Frameworks/TermindApplication/TerminalNotificationCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/TerminalPreferencesPersisting.swift b/Frameworks/TermindApplication/TerminalPreferencesPersisting.swift
index 7871e48c..ecde7308 100644
--- a/Frameworks/TermindApplication/TerminalPreferencesPersisting.swift
+++ b/Frameworks/TermindApplication/TerminalPreferencesPersisting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Transfers/RemoteFileSystem.swift b/Frameworks/TermindApplication/Transfers/RemoteFileSystem.swift
index ff1e54c0..a33c57f4 100644
--- a/Frameworks/TermindApplication/Transfers/RemoteFileSystem.swift
+++ b/Frameworks/TermindApplication/Transfers/RemoteFileSystem.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Transfers/SFTPEditModel.swift b/Frameworks/TermindApplication/Transfers/SFTPEditModel.swift
index 8c0df326..4685ed93 100644
--- a/Frameworks/TermindApplication/Transfers/SFTPEditModel.swift
+++ b/Frameworks/TermindApplication/Transfers/SFTPEditModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindDomain
diff --git a/Frameworks/TermindApplication/Transfers/WorkspaceUploadNotice.swift b/Frameworks/TermindApplication/Transfers/WorkspaceUploadNotice.swift
index db788b33..bbd06605 100644
--- a/Frameworks/TermindApplication/Transfers/WorkspaceUploadNotice.swift
+++ b/Frameworks/TermindApplication/Transfers/WorkspaceUploadNotice.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum WorkspaceUploadNotice: Equatable, Sendable {
diff --git a/Frameworks/TermindApplication/VaultPersisting.swift b/Frameworks/TermindApplication/VaultPersisting.swift
index 729ab069..c03d0cc4 100644
--- a/Frameworks/TermindApplication/VaultPersisting.swift
+++ b/Frameworks/TermindApplication/VaultPersisting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindApplication/WorkspacePreferencesPersisting.swift b/Frameworks/TermindApplication/WorkspacePreferencesPersisting.swift
index 827bd809..27f16629 100644
--- a/Frameworks/TermindApplication/WorkspacePreferencesPersisting.swift
+++ b/Frameworks/TermindApplication/WorkspacePreferencesPersisting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindDomain/AI/AIModelEditing.swift b/Frameworks/TermindDomain/AI/AIModelEditing.swift
index 67801584..a21fb94a 100644
--- a/Frameworks/TermindDomain/AI/AIModelEditing.swift
+++ b/Frameworks/TermindDomain/AI/AIModelEditing.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
nonisolated
diff --git a/Frameworks/TermindDomain/AI/ModelAPIType.swift b/Frameworks/TermindDomain/AI/ModelAPIType.swift
index e67db3f5..0c136694 100644
--- a/Frameworks/TermindDomain/AI/ModelAPIType.swift
+++ b/Frameworks/TermindDomain/AI/ModelAPIType.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindDomain/AI/ModelProviderForm.swift b/Frameworks/TermindDomain/AI/ModelProviderForm.swift
index c1a94056..26f363ff 100644
--- a/Frameworks/TermindDomain/AI/ModelProviderForm.swift
+++ b/Frameworks/TermindDomain/AI/ModelProviderForm.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindDomain/Agent/ExternalToolCall.swift b/Frameworks/TermindDomain/Agent/ExternalToolCall.swift
index 92f9849d..ce609f95 100644
--- a/Frameworks/TermindDomain/Agent/ExternalToolCall.swift
+++ b/Frameworks/TermindDomain/Agent/ExternalToolCall.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct ExternalToolCall: Identifiable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Commerce/ProAccessTypes.swift b/Frameworks/TermindDomain/Commerce/ProAccessTypes.swift
index 6687993e..92c20264 100644
--- a/Frameworks/TermindDomain/Commerce/ProAccessTypes.swift
+++ b/Frameworks/TermindDomain/Commerce/ProAccessTypes.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum ProFeature: String, CaseIterable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Connections/ConnectionHistoryEntry.swift b/Frameworks/TermindDomain/Connections/ConnectionHistoryEntry.swift
index c392678d..bf4364e3 100644
--- a/Frameworks/TermindDomain/Connections/ConnectionHistoryEntry.swift
+++ b/Frameworks/TermindDomain/Connections/ConnectionHistoryEntry.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// One user-initiated connection to a saved Host.
diff --git a/Frameworks/TermindDomain/Connections/HistorySyncTypes.swift b/Frameworks/TermindDomain/Connections/HistorySyncTypes.swift
index abdcb567..246f19f3 100644
--- a/Frameworks/TermindDomain/Connections/HistorySyncTypes.swift
+++ b/Frameworks/TermindDomain/Connections/HistorySyncTypes.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum HistoryRecordKind: String, Codable, CaseIterable, Sendable {
diff --git a/Frameworks/TermindDomain/Connections/PortForwardingRule.swift b/Frameworks/TermindDomain/Connections/PortForwardingRule.swift
index f6b64e1a..7440a2e3 100644
--- a/Frameworks/TermindDomain/Connections/PortForwardingRule.swift
+++ b/Frameworks/TermindDomain/Connections/PortForwardingRule.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct PortForwardingRule: Identifiable, Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Connections/RemoteCharset.swift b/Frameworks/TermindDomain/Connections/RemoteCharset.swift
index 48d5eb8c..e0b3aefa 100644
--- a/Frameworks/TermindDomain/Connections/RemoteCharset.swift
+++ b/Frameworks/TermindDomain/Connections/RemoteCharset.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// The character set used by text exchanged with a remote session.
diff --git a/Frameworks/TermindDomain/Connections/SSHHostKeyIdentity.swift b/Frameworks/TermindDomain/Connections/SSHHostKeyIdentity.swift
index d19a8c8f..e6dfd7ef 100644
--- a/Frameworks/TermindDomain/Connections/SSHHostKeyIdentity.swift
+++ b/Frameworks/TermindDomain/Connections/SSHHostKeyIdentity.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct SSHHostKeyIdentity: Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Connections/SSHPreferences.swift b/Frameworks/TermindDomain/Connections/SSHPreferences.swift
index dd7e15d7..616777e1 100644
--- a/Frameworks/TermindDomain/Connections/SSHPreferences.swift
+++ b/Frameworks/TermindDomain/Connections/SSHPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// The client-side ceiling for OpenSSH-style sessions on one SSH connection.
diff --git a/Frameworks/TermindDomain/Connections/SerialConnection.swift b/Frameworks/TermindDomain/Connections/SerialConnection.swift
index e2086211..03b97a1f 100644
--- a/Frameworks/TermindDomain/Connections/SerialConnection.swift
+++ b/Frameworks/TermindDomain/Connections/SerialConnection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct SerialPortDescriptor: Identifiable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Credentials/Identity.swift b/Frameworks/TermindDomain/Credentials/Identity.swift
index efda6b7e..78b284c0 100644
--- a/Frameworks/TermindDomain/Credentials/Identity.swift
+++ b/Frameworks/TermindDomain/Credentials/Identity.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum PasswordStorage: String, Codable, Hashable, Sendable, CaseIterable, Identifiable {
diff --git a/Frameworks/TermindDomain/Credentials/SSHKey.swift b/Frameworks/TermindDomain/Credentials/SSHKey.swift
index 12cfe6fc..bc9ecb96 100644
--- a/Frameworks/TermindDomain/Credentials/SSHKey.swift
+++ b/Frameworks/TermindDomain/Credentials/SSHKey.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum KeyStorage: String, Codable, Hashable, Sendable, CaseIterable, Identifiable {
diff --git a/Frameworks/TermindDomain/Credentials/SSHKeyAlgorithm+Display.swift b/Frameworks/TermindDomain/Credentials/SSHKeyAlgorithm+Display.swift
index 4d1ef11b..c84446de 100644
--- a/Frameworks/TermindDomain/Credentials/SSHKeyAlgorithm+Display.swift
+++ b/Frameworks/TermindDomain/Credentials/SSHKeyAlgorithm+Display.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
extension SSHKeyAlgorithm {
public nonisolated var displayName: String {
switch self {
diff --git a/Frameworks/TermindDomain/Credentials/SSHUserCertificate.swift b/Frameworks/TermindDomain/Credentials/SSHUserCertificate.swift
index ab70469c..eab7d6a0 100644
--- a/Frameworks/TermindDomain/Credentials/SSHUserCertificate.swift
+++ b/Frameworks/TermindDomain/Credentials/SSHUserCertificate.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum SSHUserCertificateError: LocalizedError, Equatable {
diff --git a/Frameworks/TermindDomain/Credentials/SecurityKeyCredential.swift b/Frameworks/TermindDomain/Credentials/SecurityKeyCredential.swift
index fdd38f48..71c0d020 100644
--- a/Frameworks/TermindDomain/Credentials/SecurityKeyCredential.swift
+++ b/Frameworks/TermindDomain/Credentials/SecurityKeyCredential.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A reference to a credential on a physical authenticator. Contains no private key.
diff --git a/Frameworks/TermindDomain/DeviceRecord.swift b/Frameworks/TermindDomain/DeviceRecord.swift
index a836c55f..830f3c4e 100644
--- a/Frameworks/TermindDomain/DeviceRecord.swift
+++ b/Frameworks/TermindDomain/DeviceRecord.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A synchronized display record for one stable Termind installation.
diff --git a/Frameworks/TermindDomain/Events/OutboxJob.swift b/Frameworks/TermindDomain/Events/OutboxJob.swift
index 649bc082..5f2035fb 100644
--- a/Frameworks/TermindDomain/Events/OutboxJob.swift
+++ b/Frameworks/TermindDomain/Events/OutboxJob.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum OutboxJobStatus: String, Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Hosts/DetectedDistribution.swift b/Frameworks/TermindDomain/Hosts/DetectedDistribution.swift
index 5bfb3541..18478681 100644
--- a/Frameworks/TermindDomain/Hosts/DetectedDistribution.swift
+++ b/Frameworks/TermindDomain/Hosts/DetectedDistribution.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// The normalized OS family detected from kernel information or `os-release`.
diff --git a/Frameworks/TermindDomain/Hosts/DiscoveredLocalHost.swift b/Frameworks/TermindDomain/Hosts/DiscoveredLocalHost.swift
index f1c9f7c8..393ba17c 100644
--- a/Frameworks/TermindDomain/Hosts/DiscoveredLocalHost.swift
+++ b/Frameworks/TermindDomain/Hosts/DiscoveredLocalHost.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct DiscoveredLocalHost: Identifiable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Hosts/Host.swift b/Frameworks/TermindDomain/Hosts/Host.swift
index fef5f32a..5c5c9ce0 100644
--- a/Frameworks/TermindDomain/Hosts/Host.swift
+++ b/Frameworks/TermindDomain/Hosts/Host.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct HostEnvironmentVariable: Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Hosts/HostAccessPolicy.swift b/Frameworks/TermindDomain/Hosts/HostAccessPolicy.swift
index b029abec..6fb178ba 100644
--- a/Frameworks/TermindDomain/Hosts/HostAccessPolicy.swift
+++ b/Frameworks/TermindDomain/Hosts/HostAccessPolicy.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum HostAccessError: Error, Equatable, Sendable {
diff --git a/Frameworks/TermindDomain/Hosts/HostDeletion.swift b/Frameworks/TermindDomain/Hosts/HostDeletion.swift
index 2e4dad8c..a0105720 100644
--- a/Frameworks/TermindDomain/Hosts/HostDeletion.swift
+++ b/Frameworks/TermindDomain/Hosts/HostDeletion.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct HostDeletionPayload: Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Hosts/HostShellIntegrationMode.swift b/Frameworks/TermindDomain/Hosts/HostShellIntegrationMode.swift
index 53cfeca5..75b1a3d7 100644
--- a/Frameworks/TermindDomain/Hosts/HostShellIntegrationMode.swift
+++ b/Frameworks/TermindDomain/Hosts/HostShellIntegrationMode.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
/// A saved Host's override of the global terminal preference.
public nonisolated enum HostShellIntegrationMode: String, Codable, CaseIterable, Sendable {
case followGlobalSettings
diff --git a/Frameworks/TermindDomain/Hosts/HostTerminalTransports.swift b/Frameworks/TermindDomain/Hosts/HostTerminalTransports.swift
index 054177b3..0c27ab70 100644
--- a/Frameworks/TermindDomain/Hosts/HostTerminalTransports.swift
+++ b/Frameworks/TermindDomain/Hosts/HostTerminalTransports.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// SSH authenticates every transport here. These options never affect auxiliary SSH services.
diff --git a/Frameworks/TermindDomain/Hosts/KnownHost.swift b/Frameworks/TermindDomain/Hosts/KnownHost.swift
index 8fc18873..8cf0a5cc 100644
--- a/Frameworks/TermindDomain/Hosts/KnownHost.swift
+++ b/Frameworks/TermindDomain/Hosts/KnownHost.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A host key Termind has accepted, i.e. one line of `known_hosts`.
diff --git a/Frameworks/TermindDomain/Hosts/LocalDiscoveryProtocol.swift b/Frameworks/TermindDomain/Hosts/LocalDiscoveryProtocol.swift
index 0fe755c8..fd47183b 100644
--- a/Frameworks/TermindDomain/Hosts/LocalDiscoveryProtocol.swift
+++ b/Frameworks/TermindDomain/Hosts/LocalDiscoveryProtocol.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
public nonisolated enum LocalDiscoveryProtocol: String, Sendable {
case ssh
case telnet
diff --git a/Frameworks/TermindDomain/Hosts/SSHKnownHostMatcher.swift b/Frameworks/TermindDomain/Hosts/SSHKnownHostMatcher.swift
index cc08d619..aa9a7c64 100644
--- a/Frameworks/TermindDomain/Hosts/SSHKnownHostMatcher.swift
+++ b/Frameworks/TermindDomain/Hosts/SSHKnownHostMatcher.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
diff --git a/Frameworks/TermindDomain/Hosts/TailscaleHost.swift b/Frameworks/TermindDomain/Hosts/TailscaleHost.swift
index e774e39e..c4eaec36 100644
--- a/Frameworks/TermindDomain/Hosts/TailscaleHost.swift
+++ b/Frameworks/TermindDomain/Hosts/TailscaleHost.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
diff --git a/Frameworks/TermindDomain/Hosts/WakeOnLANPreferences.swift b/Frameworks/TermindDomain/Hosts/WakeOnLANPreferences.swift
index 502dcb40..496e291a 100644
--- a/Frameworks/TermindDomain/Hosts/WakeOnLANPreferences.swift
+++ b/Frameworks/TermindDomain/Hosts/WakeOnLANPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A unicast hardware address, normalized for storage and packet construction.
diff --git a/Frameworks/TermindDomain/Metrics/MetricsCPUPoint.swift b/Frameworks/TermindDomain/Metrics/MetricsCPUPoint.swift
index bc22bfbf..525dc579 100644
--- a/Frameworks/TermindDomain/Metrics/MetricsCPUPoint.swift
+++ b/Frameworks/TermindDomain/Metrics/MetricsCPUPoint.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct MetricsCPUPoint: Identifiable, Equatable, Sendable {
diff --git a/Frameworks/TermindDomain/Metrics/MetricsCPUUsage.swift b/Frameworks/TermindDomain/Metrics/MetricsCPUUsage.swift
index 43602422..3dd3eb3b 100644
--- a/Frameworks/TermindDomain/Metrics/MetricsCPUUsage.swift
+++ b/Frameworks/TermindDomain/Metrics/MetricsCPUUsage.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Counter-derived CPU percentages, shared by the aggregate and each logical core.
diff --git a/Frameworks/TermindDomain/Metrics/MetricsFilesystem.swift b/Frameworks/TermindDomain/Metrics/MetricsFilesystem.swift
index 9dfe5873..d2282b76 100644
--- a/Frameworks/TermindDomain/Metrics/MetricsFilesystem.swift
+++ b/Frameworks/TermindDomain/Metrics/MetricsFilesystem.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum MetricsInterfaceKind: String, Sendable { case hardware, virtual, unknown }
diff --git a/Frameworks/TermindDomain/Metrics/MetricsProcess.swift b/Frameworks/TermindDomain/Metrics/MetricsProcess.swift
index 0ce10c80..3bdfee1f 100644
--- a/Frameworks/TermindDomain/Metrics/MetricsProcess.swift
+++ b/Frameworks/TermindDomain/Metrics/MetricsProcess.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct MetricsProcessCounter: Sendable {
diff --git a/Frameworks/TermindDomain/Metrics/MetricsReadError.swift b/Frameworks/TermindDomain/Metrics/MetricsReadError.swift
index 82a2560a..f829454b 100644
--- a/Frameworks/TermindDomain/Metrics/MetricsReadError.swift
+++ b/Frameworks/TermindDomain/Metrics/MetricsReadError.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum MetricsReadError: LocalizedError {
diff --git a/Frameworks/TermindDomain/Metrics/MetricsSyncTypes.swift b/Frameworks/TermindDomain/Metrics/MetricsSyncTypes.swift
index dee80ffa..66000b96 100644
--- a/Frameworks/TermindDomain/Metrics/MetricsSyncTypes.swift
+++ b/Frameworks/TermindDomain/Metrics/MetricsSyncTypes.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct SyncedMetricsSelection: Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Metrics/ServerMetrics.swift b/Frameworks/TermindDomain/Metrics/ServerMetrics.swift
index 5efe11fa..56f0a505 100644
--- a/Frameworks/TermindDomain/Metrics/ServerMetrics.swift
+++ b/Frameworks/TermindDomain/Metrics/ServerMetrics.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct MetricsSelection: Codable, Hashable, Identifiable, Sendable {
diff --git a/Frameworks/TermindDomain/SSHImport/SSHConfigParser.swift b/Frameworks/TermindDomain/SSHImport/SSHConfigParser.swift
index cdc2b960..48f60b9c 100644
--- a/Frameworks/TermindDomain/SSHImport/SSHConfigParser.swift
+++ b/Frameworks/TermindDomain/SSHImport/SSHConfigParser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Evaluates each concrete alias against the original ordered file tree.
diff --git a/Frameworks/TermindDomain/SSHImport/SSHImportItem.swift b/Frameworks/TermindDomain/SSHImport/SSHImportItem.swift
index 4781f4be..f373efac 100644
--- a/Frameworks/TermindDomain/SSHImport/SSHImportItem.swift
+++ b/Frameworks/TermindDomain/SSHImport/SSHImportItem.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum SSHImportCategory: String, CaseIterable, Identifiable, Sendable {
diff --git a/Frameworks/TermindDomain/SSHImport/SSHImportParser.swift b/Frameworks/TermindDomain/SSHImport/SSHImportParser.swift
index 44f73113..226bf746 100644
--- a/Frameworks/TermindDomain/SSHImport/SSHImportParser.swift
+++ b/Frameworks/TermindDomain/SSHImport/SSHImportParser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
diff --git a/Frameworks/TermindDomain/SavedName.swift b/Frameworks/TermindDomain/SavedName.swift
index 056485cf..ddbce673 100644
--- a/Frameworks/TermindDomain/SavedName.swift
+++ b/Frameworks/TermindDomain/SavedName.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindDomain/Sessions/RemoteSystemInfo.swift b/Frameworks/TermindDomain/Sessions/RemoteSystemInfo.swift
index 9f99681e..c216158e 100644
--- a/Frameworks/TermindDomain/Sessions/RemoteSystemInfo.swift
+++ b/Frameworks/TermindDomain/Sessions/RemoteSystemInfo.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A deliberately narrow description of the remote operating environment.
diff --git a/Frameworks/TermindDomain/Sessions/SSHShellIntegrationEvent.swift b/Frameworks/TermindDomain/Sessions/SSHShellIntegrationEvent.swift
index b598773d..17cf92cf 100644
--- a/Frameworks/TermindDomain/Sessions/SSHShellIntegrationEvent.swift
+++ b/Frameworks/TermindDomain/Sessions/SSHShellIntegrationEvent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum SSHShellIntegrationEvent: Sendable {
diff --git a/Frameworks/TermindDomain/Sessions/SessionContext.swift b/Frameworks/TermindDomain/Sessions/SessionContext.swift
index c4294eb2..454a0de1 100644
--- a/Frameworks/TermindDomain/Sessions/SessionContext.swift
+++ b/Frameworks/TermindDomain/Sessions/SessionContext.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindDomain/Sessions/SessionPersistence.swift b/Frameworks/TermindDomain/Sessions/SessionPersistence.swift
index 3ecaa486..897455e7 100644
--- a/Frameworks/TermindDomain/Sessions/SessionPersistence.swift
+++ b/Frameworks/TermindDomain/Sessions/SessionPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct SessionPersistenceBackendID: RawRepresentable, Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Sessions/TerminalContext.swift b/Frameworks/TermindDomain/Sessions/TerminalContext.swift
index 3c150ccc..2f1f7011 100644
--- a/Frameworks/TermindDomain/Sessions/TerminalContext.swift
+++ b/Frameworks/TermindDomain/Sessions/TerminalContext.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Runtime identity, deliberately unrelated to session ownership or recovery.
diff --git a/Frameworks/TermindDomain/Sessions/TerminalCustomConfiguration.swift b/Frameworks/TermindDomain/Sessions/TerminalCustomConfiguration.swift
index b87985c2..484df659 100644
--- a/Frameworks/TermindDomain/Sessions/TerminalCustomConfiguration.swift
+++ b/Frameworks/TermindDomain/Sessions/TerminalCustomConfiguration.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct TerminalCustomConfiguration: Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Sessions/TerminalCustomTheme.swift b/Frameworks/TermindDomain/Sessions/TerminalCustomTheme.swift
index c5c76dde..1665696f 100644
--- a/Frameworks/TermindDomain/Sessions/TerminalCustomTheme.swift
+++ b/Frameworks/TermindDomain/Sessions/TerminalCustomTheme.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum TerminalThemeAppearance: String, Codable, CaseIterable, Sendable {
diff --git a/Frameworks/TermindDomain/Sessions/TerminalExperiencePreferences.swift b/Frameworks/TermindDomain/Sessions/TerminalExperiencePreferences.swift
index a855bff9..fcf8fe4f 100644
--- a/Frameworks/TermindDomain/Sessions/TerminalExperiencePreferences.swift
+++ b/Frameworks/TermindDomain/Sessions/TerminalExperiencePreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
/// Device-local feedback and power preferences, separate from synced terminal appearance.
public nonisolated struct TerminalExperiencePreferences: Equatable, Sendable {
public var bellSound = false
diff --git a/Frameworks/TermindDomain/Sessions/TerminalFind.swift b/Frameworks/TermindDomain/Sessions/TerminalFind.swift
index ef378465..937552c2 100644
--- a/Frameworks/TermindDomain/Sessions/TerminalFind.swift
+++ b/Frameworks/TermindDomain/Sessions/TerminalFind.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
/// Search order follows Ghostty and VS Code's terminal find widget. A search
/// starts at the bottom of the buffer, so "previous" moves toward older output.
public nonisolated enum TerminalFindDirection: String, Sendable {
diff --git a/Frameworks/TermindDomain/Sessions/TerminalFontPreferences.swift b/Frameworks/TermindDomain/Sessions/TerminalFontPreferences.swift
index dd611455..f52d6dae 100644
--- a/Frameworks/TermindDomain/Sessions/TerminalFontPreferences.swift
+++ b/Frameworks/TermindDomain/Sessions/TerminalFontPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Device-local typography, deliberately separate from synced terminal preferences.
diff --git a/Frameworks/TermindDomain/Sessions/TerminalPreferences.swift b/Frameworks/TermindDomain/Sessions/TerminalPreferences.swift
index e704589c..99036f34 100644
--- a/Frameworks/TermindDomain/Sessions/TerminalPreferences.swift
+++ b/Frameworks/TermindDomain/Sessions/TerminalPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct TerminalPreferences: Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Sessions/TerminalRecoveryRecord.swift b/Frameworks/TermindDomain/Sessions/TerminalRecoveryRecord.swift
index 6350c7ba..17743555 100644
--- a/Frameworks/TermindDomain/Sessions/TerminalRecoveryRecord.swift
+++ b/Frameworks/TermindDomain/Sessions/TerminalRecoveryRecord.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct TerminalRecoveryRecord: Codable, Identifiable, Sendable {
diff --git a/Frameworks/TermindDomain/Sessions/TerminalTransportError.swift b/Frameworks/TermindDomain/Sessions/TerminalTransportError.swift
index 5aa4de07..54c8c976 100644
--- a/Frameworks/TermindDomain/Sessions/TerminalTransportError.swift
+++ b/Frameworks/TermindDomain/Sessions/TerminalTransportError.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum TerminalTransportError: LocalizedError, Sendable {
diff --git a/Frameworks/TermindDomain/Sessions/TermindTerminalPalette.swift b/Frameworks/TermindDomain/Sessions/TermindTerminalPalette.swift
index e4d7c5a3..2d09a52e 100644
--- a/Frameworks/TermindDomain/Sessions/TermindTerminalPalette.swift
+++ b/Frameworks/TermindDomain/Sessions/TermindTerminalPalette.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct TermindTerminalPalette: Identifiable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Settings/NotificationPreferences.swift b/Frameworks/TermindDomain/Settings/NotificationPreferences.swift
index eb1f2110..60273485 100644
--- a/Frameworks/TermindDomain/Settings/NotificationPreferences.swift
+++ b/Frameworks/TermindDomain/Settings/NotificationPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct NotificationPreferences: Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Settings/SettingsSyncTypes.swift b/Frameworks/TermindDomain/Settings/SettingsSyncTypes.swift
index 5bd29ab5..d39367b6 100644
--- a/Frameworks/TermindDomain/Settings/SettingsSyncTypes.swift
+++ b/Frameworks/TermindDomain/Settings/SettingsSyncTypes.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindDomain/Settings/WorkspacePreferences.swift b/Frameworks/TermindDomain/Settings/WorkspacePreferences.swift
index 937012ff..965d4766 100644
--- a/Frameworks/TermindDomain/Settings/WorkspacePreferences.swift
+++ b/Frameworks/TermindDomain/Settings/WorkspacePreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct WorkspacePreferences: Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Shell/CommandHistoryEntry.swift b/Frameworks/TermindDomain/Shell/CommandHistoryEntry.swift
index 156e134b..8889da11 100644
--- a/Frameworks/TermindDomain/Shell/CommandHistoryEntry.swift
+++ b/Frameworks/TermindDomain/Shell/CommandHistoryEntry.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A command in one live terminal session. File records may have no execution timestamp.
diff --git a/Frameworks/TermindDomain/Shell/CommandRiskClassifier.swift b/Frameworks/TermindDomain/Shell/CommandRiskClassifier.swift
index 1c6d9082..f63041e0 100644
--- a/Frameworks/TermindDomain/Shell/CommandRiskClassifier.swift
+++ b/Frameworks/TermindDomain/Shell/CommandRiskClassifier.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum CommandRisk: Int, Comparable, Sendable, CaseIterable {
diff --git a/Frameworks/TermindDomain/Shell/CommandRiskEngine.swift b/Frameworks/TermindDomain/Shell/CommandRiskEngine.swift
index d89044cc..009033d5 100644
--- a/Frameworks/TermindDomain/Shell/CommandRiskEngine.swift
+++ b/Frameworks/TermindDomain/Shell/CommandRiskEngine.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated enum CommandRiskEngine {
diff --git a/Frameworks/TermindDomain/Shell/CommandRiskRules.swift b/Frameworks/TermindDomain/Shell/CommandRiskRules.swift
index c6a0b667..4c892e42 100644
--- a/Frameworks/TermindDomain/Shell/CommandRiskRules.swift
+++ b/Frameworks/TermindDomain/Shell/CommandRiskRules.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated enum CommandRiskRules {
diff --git a/Frameworks/TermindDomain/Shell/RemoteShellCommand.swift b/Frameworks/TermindDomain/Shell/RemoteShellCommand.swift
index 228f2845..29c2ed14 100644
--- a/Frameworks/TermindDomain/Shell/RemoteShellCommand.swift
+++ b/Frameworks/TermindDomain/Shell/RemoteShellCommand.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Shell commands generated from remote session context rather than typed by the user.
diff --git a/Frameworks/TermindDomain/Shell/ShellCommandSyntax.swift b/Frameworks/TermindDomain/Shell/ShellCommandSyntax.swift
index 698b92ee..5aa37cad 100644
--- a/Frameworks/TermindDomain/Shell/ShellCommandSyntax.swift
+++ b/Frameworks/TermindDomain/Shell/ShellCommandSyntax.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated struct ParsedShellLine: Sendable {
diff --git a/Frameworks/TermindDomain/Shell/ShellHistory.swift b/Frameworks/TermindDomain/Shell/ShellHistory.swift
index c56677aa..cb4bc6c8 100644
--- a/Frameworks/TermindDomain/Shell/ShellHistory.swift
+++ b/Frameworks/TermindDomain/Shell/ShellHistory.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct ShellHistorySource: Sendable, Equatable {
diff --git a/Frameworks/TermindDomain/Snippets/Snippet.swift b/Frameworks/TermindDomain/Snippets/Snippet.swift
index efd9fddc..d3b59237 100644
--- a/Frameworks/TermindDomain/Snippets/Snippet.swift
+++ b/Frameworks/TermindDomain/Snippets/Snippet.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A folder used only to organise snippets. Execution settings deliberately
diff --git a/Frameworks/TermindDomain/Snippets/SnippetEditing.swift b/Frameworks/TermindDomain/Snippets/SnippetEditing.swift
index 6dc512e2..7374e399 100644
--- a/Frameworks/TermindDomain/Snippets/SnippetEditing.swift
+++ b/Frameworks/TermindDomain/Snippets/SnippetEditing.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated
diff --git a/Frameworks/TermindDomain/TagColor.swift b/Frameworks/TermindDomain/TagColor.swift
index 9dc56008..c39aacc6 100644
--- a/Frameworks/TermindDomain/TagColor.swift
+++ b/Frameworks/TermindDomain/TagColor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A persisted label color shared by hosts, keys, identities, and forwarding rules.
diff --git a/Frameworks/TermindDomain/Transfers/MultiConnectionPolicy.swift b/Frameworks/TermindDomain/Transfers/MultiConnectionPolicy.swift
index 236e2ace..407f78c2 100644
--- a/Frameworks/TermindDomain/Transfers/MultiConnectionPolicy.swift
+++ b/Frameworks/TermindDomain/Transfers/MultiConnectionPolicy.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
/// Resolves connection capabilities without changing saved preferences.
/// The caller determines availability; this policy knows nothing about purchases or UI.
public nonisolated struct MultiConnectionPolicy: Equatable, Sendable {
diff --git a/Frameworks/TermindDomain/Transfers/RemoteFile.swift b/Frameworks/TermindDomain/Transfers/RemoteFile.swift
index 123026bc..abe1f8a3 100644
--- a/Frameworks/TermindDomain/Transfers/RemoteFile.swift
+++ b/Frameworks/TermindDomain/Transfers/RemoteFile.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct RemoteFile: Identifiable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Transfers/RemotePath.swift b/Frameworks/TermindDomain/Transfers/RemotePath.swift
index b59880ad..0e1276c3 100644
--- a/Frameworks/TermindDomain/Transfers/RemotePath.swift
+++ b/Frameworks/TermindDomain/Transfers/RemotePath.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
@MainActor
diff --git a/Frameworks/TermindDomain/Transfers/SFTPHistoryEntry.swift b/Frameworks/TermindDomain/Transfers/SFTPHistoryEntry.swift
index a68e79f7..8e805939 100644
--- a/Frameworks/TermindDomain/Transfers/SFTPHistoryEntry.swift
+++ b/Frameworks/TermindDomain/Transfers/SFTPHistoryEntry.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A remote path the user successfully visited or opened through SFTP.
diff --git a/Frameworks/TermindDomain/Transfers/SFTPPermissionDraft.swift b/Frameworks/TermindDomain/Transfers/SFTPPermissionDraft.swift
index bb4cc3cd..f0716f7f 100644
--- a/Frameworks/TermindDomain/Transfers/SFTPPermissionDraft.swift
+++ b/Frameworks/TermindDomain/Transfers/SFTPPermissionDraft.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Editable Unix permission bits for the SFTP permissions sheet.
diff --git a/Frameworks/TermindDomain/Transfers/SFTPPreferences.swift b/Frameworks/TermindDomain/Transfers/SFTPPreferences.swift
index e700e8ed..244b3ab3 100644
--- a/Frameworks/TermindDomain/Transfers/SFTPPreferences.swift
+++ b/Frameworks/TermindDomain/Transfers/SFTPPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum SFTPConcurrencyStrategy: String, Codable, CaseIterable, Hashable, Sendable {
diff --git a/Frameworks/TermindDomain/Transfers/SFTPTransfer.swift b/Frameworks/TermindDomain/Transfers/SFTPTransfer.swift
index 17e8310c..415e5938 100644
--- a/Frameworks/TermindDomain/Transfers/SFTPTransfer.swift
+++ b/Frameworks/TermindDomain/Transfers/SFTPTransfer.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// One SFTP transfer and its current-session history.
diff --git a/Frameworks/TermindDomain/Vault/CloudSyncMutation.swift b/Frameworks/TermindDomain/Vault/CloudSyncMutation.swift
index 407c19a8..0ed7a5b1 100644
--- a/Frameworks/TermindDomain/Vault/CloudSyncMutation.swift
+++ b/Frameworks/TermindDomain/Vault/CloudSyncMutation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Durable journal intent. CloudKit's serialized queue is only a scheduling cache.
diff --git a/Frameworks/TermindDomain/Vault/CloudSyncSafety.swift b/Frameworks/TermindDomain/Vault/CloudSyncSafety.swift
index e5680ff1..a25f623a 100644
--- a/Frameworks/TermindDomain/Vault/CloudSyncSafety.swift
+++ b/Frameworks/TermindDomain/Vault/CloudSyncSafety.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A CloudKit replica boundary, independent of the app and local database versions.
diff --git a/Frameworks/TermindDomain/Vault/CloudSyncStatusSummary.swift b/Frameworks/TermindDomain/Vault/CloudSyncStatusSummary.swift
index af0641f3..7b480158 100644
--- a/Frameworks/TermindDomain/Vault/CloudSyncStatusSummary.swift
+++ b/Frameworks/TermindDomain/Vault/CloudSyncStatusSummary.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Presentation combines independently replicated categories without pretending
diff --git a/Frameworks/TermindDomain/Vault/SyncRecordFormats.swift b/Frameworks/TermindDomain/Vault/SyncRecordFormats.swift
index 16f54f01..b0e3ba7c 100644
--- a/Frameworks/TermindDomain/Vault/SyncRecordFormats.swift
+++ b/Frameworks/TermindDomain/Vault/SyncRecordFormats.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Breaking wire versions are per record kind, not app releases or SwiftData schemas.
diff --git a/Frameworks/TermindDomain/Vault/VaultSnapshot.swift b/Frameworks/TermindDomain/Vault/VaultSnapshot.swift
index 82a73abb..e4afe62b 100644
--- a/Frameworks/TermindDomain/Vault/VaultSnapshot.swift
+++ b/Frameworks/TermindDomain/Vault/VaultSnapshot.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct VaultSnapshot: Sendable {
diff --git a/Frameworks/TermindDomain/Vault/VaultSyncTypes.swift b/Frameworks/TermindDomain/Vault/VaultSyncTypes.swift
index f05e0806..67f9ca3e 100644
--- a/Frameworks/TermindDomain/Vault/VaultSyncTypes.swift
+++ b/Frameworks/TermindDomain/Vault/VaultSyncTypes.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum VaultRecordKind: String, Codable, CaseIterable, Sendable {
diff --git a/Frameworks/TermindDomain/Workspaces/RecentlyClosedRecord.swift b/Frameworks/TermindDomain/Workspaces/RecentlyClosedRecord.swift
index 15ae1dfe..448ea257 100644
--- a/Frameworks/TermindDomain/Workspaces/RecentlyClosedRecord.swift
+++ b/Frameworks/TermindDomain/Workspaces/RecentlyClosedRecord.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// One close operation. A window and all of its workspaces occupy one history slot.
diff --git a/Frameworks/TermindDomain/Workspaces/WorkspaceTemplate.swift b/Frameworks/TermindDomain/Workspaces/WorkspaceTemplate.swift
index 0400ecdc..0cfef22f 100644
--- a/Frameworks/TermindDomain/Workspaces/WorkspaceTemplate.swift
+++ b/Frameworks/TermindDomain/Workspaces/WorkspaceTemplate.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct WorkspaceTemplate: Identifiable, Codable, Hashable, Sendable {
diff --git a/Frameworks/TermindInfrastructure/Agent/ContextAttachmentImporter.swift b/Frameworks/TermindInfrastructure/Agent/ContextAttachmentImporter.swift
index e377f2ba..a41a2783 100644
--- a/Frameworks/TermindInfrastructure/Agent/ContextAttachmentImporter.swift
+++ b/Frameworks/TermindInfrastructure/Agent/ContextAttachmentImporter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import ImageIO
diff --git a/Frameworks/TermindInfrastructure/Agent/ContextAttachmentLoading+Live.swift b/Frameworks/TermindInfrastructure/Agent/ContextAttachmentLoading+Live.swift
index d26fd921..acbd0ba8 100644
--- a/Frameworks/TermindInfrastructure/Agent/ContextAttachmentLoading+Live.swift
+++ b/Frameworks/TermindInfrastructure/Agent/ContextAttachmentLoading+Live.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
extension ContextAttachmentLoading {
diff --git a/Frameworks/TermindInfrastructure/Cloud/CloudSyncEventHandling.swift b/Frameworks/TermindInfrastructure/Cloud/CloudSyncEventHandling.swift
index 09fd264a..f1df9cb4 100644
--- a/Frameworks/TermindInfrastructure/Cloud/CloudSyncEventHandling.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/CloudSyncEventHandling.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/Cloud/CloudSyncJournal.swift b/Frameworks/TermindInfrastructure/Cloud/CloudSyncJournal.swift
index 40e43d11..d54c8e71 100644
--- a/Frameworks/TermindInfrastructure/Cloud/CloudSyncJournal.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/CloudSyncJournal.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/Cloud/CloudSyncLifecycle.swift b/Frameworks/TermindInfrastructure/Cloud/CloudSyncLifecycle.swift
index c26a540c..917c4a98 100644
--- a/Frameworks/TermindInfrastructure/Cloud/CloudSyncLifecycle.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/CloudSyncLifecycle.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import Logging
diff --git a/Frameworks/TermindInfrastructure/Cloud/CloudSyncLifecycleSafety.swift b/Frameworks/TermindInfrastructure/Cloud/CloudSyncLifecycleSafety.swift
index f3c0786c..c49853eb 100644
--- a/Frameworks/TermindInfrastructure/Cloud/CloudSyncLifecycleSafety.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/CloudSyncLifecycleSafety.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindInfrastructure/Cloud/CloudSyncRecordCoding.swift b/Frameworks/TermindInfrastructure/Cloud/CloudSyncRecordCoding.swift
index 0508a391..5ee0fc4f 100644
--- a/Frameworks/TermindInfrastructure/Cloud/CloudSyncRecordCoding.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/CloudSyncRecordCoding.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import CryptoKit
import Foundation
diff --git a/Frameworks/TermindInfrastructure/Cloud/CloudSyncRecordReceiving.swift b/Frameworks/TermindInfrastructure/Cloud/CloudSyncRecordReceiving.swift
index 6cea88ba..80726bb6 100644
--- a/Frameworks/TermindInfrastructure/Cloud/CloudSyncRecordReceiving.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/CloudSyncRecordReceiving.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
/// Decodes a remote batch while making an unreadable representation win over every readable representation of the
diff --git a/Frameworks/TermindInfrastructure/Cloud/CloudSyncReplicaStore.swift b/Frameworks/TermindInfrastructure/Cloud/CloudSyncReplicaStore.swift
index d81ed646..95030f37 100644
--- a/Frameworks/TermindInfrastructure/Cloud/CloudSyncReplicaStore.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/CloudSyncReplicaStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/Cloud/ConnectionHistorySyncCoordinator.swift b/Frameworks/TermindInfrastructure/Cloud/ConnectionHistorySyncCoordinator.swift
index cf5309c4..9f6c26bb 100644
--- a/Frameworks/TermindInfrastructure/Cloud/ConnectionHistorySyncCoordinator.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/ConnectionHistorySyncCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindInfrastructure/Cloud/DeviceSyncCoordinator.swift b/Frameworks/TermindInfrastructure/Cloud/DeviceSyncCoordinator.swift
index 082e565a..ac32a0e1 100644
--- a/Frameworks/TermindInfrastructure/Cloud/DeviceSyncCoordinator.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/DeviceSyncCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindInfrastructure/Cloud/HistoryCloudRecordV1.swift b/Frameworks/TermindInfrastructure/Cloud/HistoryCloudRecordV1.swift
index df2773e7..d6ed2ba6 100644
--- a/Frameworks/TermindInfrastructure/Cloud/HistoryCloudRecordV1.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/HistoryCloudRecordV1.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/Cloud/HistoryCloudRecordV2.swift b/Frameworks/TermindInfrastructure/Cloud/HistoryCloudRecordV2.swift
index 5d058dae..431c028f 100644
--- a/Frameworks/TermindInfrastructure/Cloud/HistoryCloudRecordV2.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/HistoryCloudRecordV2.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/Cloud/HistoryRecordSyncCoordinator.swift b/Frameworks/TermindInfrastructure/Cloud/HistoryRecordSyncCoordinator.swift
index 371da4e7..060864aa 100644
--- a/Frameworks/TermindInfrastructure/Cloud/HistoryRecordSyncCoordinator.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/HistoryRecordSyncCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindInfrastructure/Cloud/MetricsSyncCoordinator.swift b/Frameworks/TermindInfrastructure/Cloud/MetricsSyncCoordinator.swift
index 4c010f63..b6a0e9ce 100644
--- a/Frameworks/TermindInfrastructure/Cloud/MetricsSyncCoordinator.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/MetricsSyncCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindInfrastructure/Cloud/SettingsSyncCoordinator.swift b/Frameworks/TermindInfrastructure/Cloud/SettingsSyncCoordinator.swift
index 81ff71c6..6e71027f 100644
--- a/Frameworks/TermindInfrastructure/Cloud/SettingsSyncCoordinator.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/SettingsSyncCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindInfrastructure/Cloud/TerminalThemeCloudRecordV1.swift b/Frameworks/TermindInfrastructure/Cloud/TerminalThemeCloudRecordV1.swift
index cc614251..9e129ab0 100644
--- a/Frameworks/TermindInfrastructure/Cloud/TerminalThemeCloudRecordV1.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/TerminalThemeCloudRecordV1.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import CryptoKit
import Foundation
diff --git a/Frameworks/TermindInfrastructure/Cloud/VaultSyncCoordinator.swift b/Frameworks/TermindInfrastructure/Cloud/VaultSyncCoordinator.swift
index 1dd77b9a..cb185b44 100644
--- a/Frameworks/TermindInfrastructure/Cloud/VaultSyncCoordinator.swift
+++ b/Frameworks/TermindInfrastructure/Cloud/VaultSyncCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindInfrastructure/Commerce/ProAccessController.swift b/Frameworks/TermindInfrastructure/Commerce/ProAccessController.swift
index 70ee71f7..a1ce8e2f 100644
--- a/Frameworks/TermindInfrastructure/Commerce/ProAccessController.swift
+++ b/Frameworks/TermindInfrastructure/Commerce/ProAccessController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/Commerce/ProPurchaseService.swift b/Frameworks/TermindInfrastructure/Commerce/ProPurchaseService.swift
index 0d8a1f50..ac1dfa10 100644
--- a/Frameworks/TermindInfrastructure/Commerce/ProPurchaseService.swift
+++ b/Frameworks/TermindInfrastructure/Commerce/ProPurchaseService.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
@MainActor
diff --git a/Frameworks/TermindInfrastructure/Commerce/RevenueCatConfiguration.swift b/Frameworks/TermindInfrastructure/Commerce/RevenueCatConfiguration.swift
index d74afe22..e0ae4db0 100644
--- a/Frameworks/TermindInfrastructure/Commerce/RevenueCatConfiguration.swift
+++ b/Frameworks/TermindInfrastructure/Commerce/RevenueCatConfiguration.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated struct RevenueCatConfiguration: Equatable, Sendable {
diff --git a/Frameworks/TermindInfrastructure/Commerce/RevenueCatEntitlementResolver.swift b/Frameworks/TermindInfrastructure/Commerce/RevenueCatEntitlementResolver.swift
index 1a3844a6..a2b4c436 100644
--- a/Frameworks/TermindInfrastructure/Commerce/RevenueCatEntitlementResolver.swift
+++ b/Frameworks/TermindInfrastructure/Commerce/RevenueCatEntitlementResolver.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import RevenueCat
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/Commerce/RevenueCatProPurchaseService.swift b/Frameworks/TermindInfrastructure/Commerce/RevenueCatProPurchaseService.swift
index 4343cac3..5f18c28d 100644
--- a/Frameworks/TermindInfrastructure/Commerce/RevenueCatProPurchaseService.swift
+++ b/Frameworks/TermindInfrastructure/Commerce/RevenueCatProPurchaseService.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import RevenueCat
import TermindApplication
diff --git a/Frameworks/TermindInfrastructure/Diagnostics/FirebaseDiagnosticDataReporter.swift b/Frameworks/TermindInfrastructure/Diagnostics/FirebaseDiagnosticDataReporter.swift
index 76fa5518..ff2b7cdd 100644
--- a/Frameworks/TermindInfrastructure/Diagnostics/FirebaseDiagnosticDataReporter.swift
+++ b/Frameworks/TermindInfrastructure/Diagnostics/FirebaseDiagnosticDataReporter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import FirebaseCore
import FirebaseCrashlytics
import Foundation
diff --git a/Frameworks/TermindInfrastructure/InMemoryHostRepository.swift b/Frameworks/TermindInfrastructure/InMemoryHostRepository.swift
index 982b703b..4b07eaab 100644
--- a/Frameworks/TermindInfrastructure/InMemoryHostRepository.swift
+++ b/Frameworks/TermindInfrastructure/InMemoryHostRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/LinuxFilesystemParser.swift b/Frameworks/TermindInfrastructure/LinuxFilesystemParser.swift
index 69c4e527..28fd7afb 100644
--- a/Frameworks/TermindInfrastructure/LinuxFilesystemParser.swift
+++ b/Frameworks/TermindInfrastructure/LinuxFilesystemParser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/LinuxMetricsParser.swift b/Frameworks/TermindInfrastructure/LinuxMetricsParser.swift
index f6413d3a..0282a95a 100644
--- a/Frameworks/TermindInfrastructure/LinuxMetricsParser.swift
+++ b/Frameworks/TermindInfrastructure/LinuxMetricsParser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/LinuxProcessParser.swift b/Frameworks/TermindInfrastructure/LinuxProcessParser.swift
index 0b993c0b..e8648026 100644
--- a/Frameworks/TermindInfrastructure/LinuxProcessParser.swift
+++ b/Frameworks/TermindInfrastructure/LinuxProcessParser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/Logging/LaunchFileLogService.swift b/Frameworks/TermindInfrastructure/Logging/LaunchFileLogService.swift
index 88d3bbf2..a332031c 100644
--- a/Frameworks/TermindInfrastructure/Logging/LaunchFileLogService.swift
+++ b/Frameworks/TermindInfrastructure/Logging/LaunchFileLogService.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Logging
import TermindApplication
diff --git a/Frameworks/TermindInfrastructure/MCPImporter.swift b/Frameworks/TermindInfrastructure/MCPImporter.swift
index 55bdd206..f8d41d54 100644
--- a/Frameworks/TermindInfrastructure/MCPImporter.swift
+++ b/Frameworks/TermindInfrastructure/MCPImporter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Darwin
import Foundation
diff --git a/Frameworks/TermindInfrastructure/MetricsReadError.swift b/Frameworks/TermindInfrastructure/MetricsReadError.swift
index b27f9791..fec1e833 100644
--- a/Frameworks/TermindInfrastructure/MetricsReadError.swift
+++ b/Frameworks/TermindInfrastructure/MetricsReadError.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
public typealias MetricsReadError = TermindDomain.MetricsReadError
diff --git a/Frameworks/TermindInfrastructure/ModelProviderServiceAccountFile.swift b/Frameworks/TermindInfrastructure/ModelProviderServiceAccountFile.swift
index 244bd498..1e825c11 100644
--- a/Frameworks/TermindInfrastructure/ModelProviderServiceAccountFile.swift
+++ b/Frameworks/TermindInfrastructure/ModelProviderServiceAccountFile.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindInfrastructure/NvidiaMetricsParser.swift b/Frameworks/TermindInfrastructure/NvidiaMetricsParser.swift
index 912ce342..a4f796c0 100644
--- a/Frameworks/TermindInfrastructure/NvidiaMetricsParser.swift
+++ b/Frameworks/TermindInfrastructure/NvidiaMetricsParser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindInfrastructure/RecentlyClosedStore.swift b/Frameworks/TermindInfrastructure/RecentlyClosedStore.swift
index e2867e83..704ce02c 100644
--- a/Frameworks/TermindInfrastructure/RecentlyClosedStore.swift
+++ b/Frameworks/TermindInfrastructure/RecentlyClosedStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
diff --git a/Frameworks/TermindInfrastructure/SkillImporter.swift b/Frameworks/TermindInfrastructure/SkillImporter.swift
index 854bc406..b6839738 100644
--- a/Frameworks/TermindInfrastructure/SkillImporter.swift
+++ b/Frameworks/TermindInfrastructure/SkillImporter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Darwin
import Foundation
diff --git a/Frameworks/TermindInfrastructure/Speech/AppleSpeechTranscriptionService.swift b/Frameworks/TermindInfrastructure/Speech/AppleSpeechTranscriptionService.swift
index 56770fdd..b286c631 100644
--- a/Frameworks/TermindInfrastructure/Speech/AppleSpeechTranscriptionService.swift
+++ b/Frameworks/TermindInfrastructure/Speech/AppleSpeechTranscriptionService.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
@preconcurrency import AVFoundation
import Foundation
@preconcurrency import Speech
diff --git a/Frameworks/TermindInfrastructure/Speech/SpeechAudioInput.swift b/Frameworks/TermindInfrastructure/Speech/SpeechAudioInput.swift
index 876fe5a1..0254749c 100644
--- a/Frameworks/TermindInfrastructure/Speech/SpeechAudioInput.swift
+++ b/Frameworks/TermindInfrastructure/Speech/SpeechAudioInput.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
@preconcurrency import AVFoundation
public typealias SpeechAudioBufferHandler = @Sendable (AVAudioPCMBuffer) -> Void
diff --git a/Frameworks/TermindInfrastructure/SystemNotifications.swift b/Frameworks/TermindInfrastructure/SystemNotifications.swift
index ecef93bc..e2e07b04 100644
--- a/Frameworks/TermindInfrastructure/SystemNotifications.swift
+++ b/Frameworks/TermindInfrastructure/SystemNotifications.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import UserNotifications
diff --git a/Frameworks/TermindPersistence/AIPersistence.swift b/Frameworks/TermindPersistence/AIPersistence.swift
index 0d526114..2bd56293 100644
--- a/Frameworks/TermindPersistence/AIPersistence.swift
+++ b/Frameworks/TermindPersistence/AIPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/AISecretStore.swift b/Frameworks/TermindPersistence/AISecretStore.swift
index 123b7dec..51a8e876 100644
--- a/Frameworks/TermindPersistence/AISecretStore.swift
+++ b/Frameworks/TermindPersistence/AISecretStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/AgentPersistence.swift b/Frameworks/TermindPersistence/AgentPersistence.swift
index 5698d747..867e173b 100644
--- a/Frameworks/TermindPersistence/AgentPersistence.swift
+++ b/Frameworks/TermindPersistence/AgentPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/AgentPersistenceRedactor.swift b/Frameworks/TermindPersistence/AgentPersistenceRedactor.swift
index 90ef3398..0c864146 100644
--- a/Frameworks/TermindPersistence/AgentPersistenceRedactor.swift
+++ b/Frameworks/TermindPersistence/AgentPersistenceRedactor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindPersistence/AssistantChatCollaborationPersistence.swift b/Frameworks/TermindPersistence/AssistantChatCollaborationPersistence.swift
index 382c5bb6..2f2b49df 100644
--- a/Frameworks/TermindPersistence/AssistantChatCollaborationPersistence.swift
+++ b/Frameworks/TermindPersistence/AssistantChatCollaborationPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/CloudSyncRecordStateStore.swift b/Frameworks/TermindPersistence/CloudSyncRecordStateStore.swift
index 92160284..2fe794c5 100644
--- a/Frameworks/TermindPersistence/CloudSyncRecordStateStore.swift
+++ b/Frameworks/TermindPersistence/CloudSyncRecordStateStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/CloudSyncSafetyStore.swift b/Frameworks/TermindPersistence/CloudSyncSafetyStore.swift
index 6fc3495b..c8241a5a 100644
--- a/Frameworks/TermindPersistence/CloudSyncSafetyStore.swift
+++ b/Frameworks/TermindPersistence/CloudSyncSafetyStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/GRDBMemoryStore.swift b/Frameworks/TermindPersistence/GRDBMemoryStore.swift
index 1bd8b8fa..61371160 100644
--- a/Frameworks/TermindPersistence/GRDBMemoryStore.swift
+++ b/Frameworks/TermindPersistence/GRDBMemoryStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import GRDB
diff --git a/Frameworks/TermindPersistence/HistoryJournalV2.swift b/Frameworks/TermindPersistence/HistoryJournalV2.swift
index e79dbc8d..bd2eafa8 100644
--- a/Frameworks/TermindPersistence/HistoryJournalV2.swift
+++ b/Frameworks/TermindPersistence/HistoryJournalV2.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/HistorySyncPersistence.swift b/Frameworks/TermindPersistence/HistorySyncPersistence.swift
index 27e34f84..cd1fd90d 100644
--- a/Frameworks/TermindPersistence/HistorySyncPersistence.swift
+++ b/Frameworks/TermindPersistence/HistorySyncPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/HistorySyncStore.swift b/Frameworks/TermindPersistence/HistorySyncStore.swift
index 956745e8..815985d5 100644
--- a/Frameworks/TermindPersistence/HistorySyncStore.swift
+++ b/Frameworks/TermindPersistence/HistorySyncStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/HostPersistence.swift b/Frameworks/TermindPersistence/HostPersistence.swift
index a7d2397c..fa6ac264 100644
--- a/Frameworks/TermindPersistence/HostPersistence.swift
+++ b/Frameworks/TermindPersistence/HostPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/MCPAuthorizationPersistence.swift b/Frameworks/TermindPersistence/MCPAuthorizationPersistence.swift
index f93b1721..7fc0099b 100644
--- a/Frameworks/TermindPersistence/MCPAuthorizationPersistence.swift
+++ b/Frameworks/TermindPersistence/MCPAuthorizationPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/MetricsSyncJournal.swift b/Frameworks/TermindPersistence/MetricsSyncJournal.swift
index 275dbde4..c53c0b62 100644
--- a/Frameworks/TermindPersistence/MetricsSyncJournal.swift
+++ b/Frameworks/TermindPersistence/MetricsSyncJournal.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/MetricsSyncStore.swift b/Frameworks/TermindPersistence/MetricsSyncStore.swift
index ce04079e..acb31936 100644
--- a/Frameworks/TermindPersistence/MetricsSyncStore.swift
+++ b/Frameworks/TermindPersistence/MetricsSyncStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/ModelContext+Commit.swift b/Frameworks/TermindPersistence/ModelContext+Commit.swift
index fab28d3a..0e73239c 100644
--- a/Frameworks/TermindPersistence/ModelContext+Commit.swift
+++ b/Frameworks/TermindPersistence/ModelContext+Commit.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftData
@MainActor
diff --git a/Frameworks/TermindPersistence/PersistentAgentMessageReplay.swift b/Frameworks/TermindPersistence/PersistentAgentMessageReplay.swift
index 7ea3d9ea..81169279 100644
--- a/Frameworks/TermindPersistence/PersistentAgentMessageReplay.swift
+++ b/Frameworks/TermindPersistence/PersistentAgentMessageReplay.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/PersistentExternalToolCall.swift b/Frameworks/TermindPersistence/PersistentExternalToolCall.swift
index 2d9d601d..e8d055e7 100644
--- a/Frameworks/TermindPersistence/PersistentExternalToolCall.swift
+++ b/Frameworks/TermindPersistence/PersistentExternalToolCall.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/PersistentMCPServerMetadata.swift b/Frameworks/TermindPersistence/PersistentMCPServerMetadata.swift
index 40d531ed..f6393846 100644
--- a/Frameworks/TermindPersistence/PersistentMCPServerMetadata.swift
+++ b/Frameworks/TermindPersistence/PersistentMCPServerMetadata.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/PersistentModelProviderVertexConfiguration.swift b/Frameworks/TermindPersistence/PersistentModelProviderVertexConfiguration.swift
index d46fdbfe..c69c8706 100644
--- a/Frameworks/TermindPersistence/PersistentModelProviderVertexConfiguration.swift
+++ b/Frameworks/TermindPersistence/PersistentModelProviderVertexConfiguration.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/PersistentNotificationPreferences.swift b/Frameworks/TermindPersistence/PersistentNotificationPreferences.swift
index f298a20f..a3d9a1f1 100644
--- a/Frameworks/TermindPersistence/PersistentNotificationPreferences.swift
+++ b/Frameworks/TermindPersistence/PersistentNotificationPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/PersistentOutbox.swift b/Frameworks/TermindPersistence/PersistentOutbox.swift
index bb9bc592..8e5b9d54 100644
--- a/Frameworks/TermindPersistence/PersistentOutbox.swift
+++ b/Frameworks/TermindPersistence/PersistentOutbox.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/PersistentSFTPPreferences.swift b/Frameworks/TermindPersistence/PersistentSFTPPreferences.swift
index a1d43c86..504e37b7 100644
--- a/Frameworks/TermindPersistence/PersistentSFTPPreferences.swift
+++ b/Frameworks/TermindPersistence/PersistentSFTPPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/PersistentSSHPreferences.swift b/Frameworks/TermindPersistence/PersistentSSHPreferences.swift
index d3968e6f..34c10d68 100644
--- a/Frameworks/TermindPersistence/PersistentSSHPreferences.swift
+++ b/Frameworks/TermindPersistence/PersistentSSHPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/PersistentSkillPackage.swift b/Frameworks/TermindPersistence/PersistentSkillPackage.swift
index fdd159b7..871e0834 100644
--- a/Frameworks/TermindPersistence/PersistentSkillPackage.swift
+++ b/Frameworks/TermindPersistence/PersistentSkillPackage.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/PersistentStoreLock.swift b/Frameworks/TermindPersistence/PersistentStoreLock.swift
index a1b779d3..5e8eb8a0 100644
--- a/Frameworks/TermindPersistence/PersistentStoreLock.swift
+++ b/Frameworks/TermindPersistence/PersistentStoreLock.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
#if os(macOS)
import Darwin
import Foundation
diff --git a/Frameworks/TermindPersistence/PersistentTerminalHighlightPreferences.swift b/Frameworks/TermindPersistence/PersistentTerminalHighlightPreferences.swift
index 56ab56a1..61edeb3f 100644
--- a/Frameworks/TermindPersistence/PersistentTerminalHighlightPreferences.swift
+++ b/Frameworks/TermindPersistence/PersistentTerminalHighlightPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/PersistentTerminalPreferences.swift b/Frameworks/TermindPersistence/PersistentTerminalPreferences.swift
index 8b9df905..641b8be3 100644
--- a/Frameworks/TermindPersistence/PersistentTerminalPreferences.swift
+++ b/Frameworks/TermindPersistence/PersistentTerminalPreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/PersistentWorkspacePreferences.swift b/Frameworks/TermindPersistence/PersistentWorkspacePreferences.swift
index 6d5f54c0..308079c6 100644
--- a/Frameworks/TermindPersistence/PersistentWorkspacePreferences.swift
+++ b/Frameworks/TermindPersistence/PersistentWorkspacePreferences.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/SettingsSyncJournal.swift b/Frameworks/TermindPersistence/SettingsSyncJournal.swift
index c363dd75..05eee4ab 100644
--- a/Frameworks/TermindPersistence/SettingsSyncJournal.swift
+++ b/Frameworks/TermindPersistence/SettingsSyncJournal.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/SettingsSyncJournalStore.swift b/Frameworks/TermindPersistence/SettingsSyncJournalStore.swift
index 76fa52ce..85d898d2 100644
--- a/Frameworks/TermindPersistence/SettingsSyncJournalStore.swift
+++ b/Frameworks/TermindPersistence/SettingsSyncJournalStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/SettingsSyncPersistence.swift b/Frameworks/TermindPersistence/SettingsSyncPersistence.swift
index 75bbb2ee..fed34040 100644
--- a/Frameworks/TermindPersistence/SettingsSyncPersistence.swift
+++ b/Frameworks/TermindPersistence/SettingsSyncPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/SettingsSyncStore.swift b/Frameworks/TermindPersistence/SettingsSyncStore.swift
index 616c8c5a..235738fb 100644
--- a/Frameworks/TermindPersistence/SettingsSyncStore.swift
+++ b/Frameworks/TermindPersistence/SettingsSyncStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/SkillPersistence.swift b/Frameworks/TermindPersistence/SkillPersistence.swift
index e729ca00..3b6bedaf 100644
--- a/Frameworks/TermindPersistence/SkillPersistence.swift
+++ b/Frameworks/TermindPersistence/SkillPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/SkillStore.swift b/Frameworks/TermindPersistence/SkillStore.swift
index c3f9544d..4cb89b0d 100644
--- a/Frameworks/TermindPersistence/SkillStore.swift
+++ b/Frameworks/TermindPersistence/SkillStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/SwiftDataAIConfigurationStore.swift b/Frameworks/TermindPersistence/SwiftDataAIConfigurationStore.swift
index 00c7d970..f54c907d 100644
--- a/Frameworks/TermindPersistence/SwiftDataAIConfigurationStore.swift
+++ b/Frameworks/TermindPersistence/SwiftDataAIConfigurationStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/SwiftDataAISecretStore.swift b/Frameworks/TermindPersistence/SwiftDataAISecretStore.swift
index 4b19c753..5fe5a045 100644
--- a/Frameworks/TermindPersistence/SwiftDataAISecretStore.swift
+++ b/Frameworks/TermindPersistence/SwiftDataAISecretStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/SwiftDataAgentRunRepository.swift b/Frameworks/TermindPersistence/SwiftDataAgentRunRepository.swift
index f29c9f87..47f64ebc 100644
--- a/Frameworks/TermindPersistence/SwiftDataAgentRunRepository.swift
+++ b/Frameworks/TermindPersistence/SwiftDataAgentRunRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/SwiftDataAssistantModelSelectionStore.swift b/Frameworks/TermindPersistence/SwiftDataAssistantModelSelectionStore.swift
index e0e2329e..8857d6fe 100644
--- a/Frameworks/TermindPersistence/SwiftDataAssistantModelSelectionStore.swift
+++ b/Frameworks/TermindPersistence/SwiftDataAssistantModelSelectionStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/SwiftDataCommandHistoryRepository.swift b/Frameworks/TermindPersistence/SwiftDataCommandHistoryRepository.swift
index dc2c2146..4fbc6dbd 100644
--- a/Frameworks/TermindPersistence/SwiftDataCommandHistoryRepository.swift
+++ b/Frameworks/TermindPersistence/SwiftDataCommandHistoryRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/SwiftDataConnectionHistoryRepository.swift b/Frameworks/TermindPersistence/SwiftDataConnectionHistoryRepository.swift
index ccc316ac..6f6b7f2e 100644
--- a/Frameworks/TermindPersistence/SwiftDataConnectionHistoryRepository.swift
+++ b/Frameworks/TermindPersistence/SwiftDataConnectionHistoryRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/SwiftDataDeviceDirectoryRepository.swift b/Frameworks/TermindPersistence/SwiftDataDeviceDirectoryRepository.swift
index 83a22da2..1540e4f7 100644
--- a/Frameworks/TermindPersistence/SwiftDataDeviceDirectoryRepository.swift
+++ b/Frameworks/TermindPersistence/SwiftDataDeviceDirectoryRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/SwiftDataHostRepository.swift b/Frameworks/TermindPersistence/SwiftDataHostRepository.swift
index fae69d04..ab9bacd3 100644
--- a/Frameworks/TermindPersistence/SwiftDataHostRepository.swift
+++ b/Frameworks/TermindPersistence/SwiftDataHostRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/SwiftDataOutboxStore.swift b/Frameworks/TermindPersistence/SwiftDataOutboxStore.swift
index 21ef2217..d2ccfa06 100644
--- a/Frameworks/TermindPersistence/SwiftDataOutboxStore.swift
+++ b/Frameworks/TermindPersistence/SwiftDataOutboxStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/SwiftDataSFTPHistoryRepository.swift b/Frameworks/TermindPersistence/SwiftDataSFTPHistoryRepository.swift
index 7faf6861..b2fd5668 100644
--- a/Frameworks/TermindPersistence/SwiftDataSFTPHistoryRepository.swift
+++ b/Frameworks/TermindPersistence/SwiftDataSFTPHistoryRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/SwiftDataToolAuditRepository.swift b/Frameworks/TermindPersistence/SwiftDataToolAuditRepository.swift
index 21ff0c9e..3a80ca56 100644
--- a/Frameworks/TermindPersistence/SwiftDataToolAuditRepository.swift
+++ b/Frameworks/TermindPersistence/SwiftDataToolAuditRepository.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/SwiftDataVaultJournal.swift b/Frameworks/TermindPersistence/SwiftDataVaultJournal.swift
index 339d5336..a164e618 100644
--- a/Frameworks/TermindPersistence/SwiftDataVaultJournal.swift
+++ b/Frameworks/TermindPersistence/SwiftDataVaultJournal.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/SwiftDataVaultStore.swift b/Frameworks/TermindPersistence/SwiftDataVaultStore.swift
index 0b19d5b2..8409c2b9 100644
--- a/Frameworks/TermindPersistence/SwiftDataVaultStore.swift
+++ b/Frameworks/TermindPersistence/SwiftDataVaultStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/TailscalePersistence.swift b/Frameworks/TermindPersistence/TailscalePersistence.swift
index e3b28665..45974ccc 100644
--- a/Frameworks/TermindPersistence/TailscalePersistence.swift
+++ b/Frameworks/TermindPersistence/TailscalePersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/Frameworks/TermindPersistence/TerminalFontPreferences+Migration.swift b/Frameworks/TermindPersistence/TerminalFontPreferences+Migration.swift
index 4b6736bf..9d5c8592 100644
--- a/Frameworks/TermindPersistence/TerminalFontPreferences+Migration.swift
+++ b/Frameworks/TermindPersistence/TerminalFontPreferences+Migration.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TerminalPreferences+Defaults.swift b/Frameworks/TermindPersistence/TerminalPreferences+Defaults.swift
index e6190125..68307c21 100644
--- a/Frameworks/TermindPersistence/TerminalPreferences+Defaults.swift
+++ b/Frameworks/TermindPersistence/TerminalPreferences+Defaults.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TerminalThemePersistence.swift b/Frameworks/TermindPersistence/TerminalThemePersistence.swift
index 057166dd..9f4991ac 100644
--- a/Frameworks/TermindPersistence/TerminalThemePersistence.swift
+++ b/Frameworks/TermindPersistence/TerminalThemePersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/TermindPersistence.swift b/Frameworks/TermindPersistence/TermindPersistence.swift
index a74f1bcb..2bbfdc5b 100644
--- a/Frameworks/TermindPersistence/TermindPersistence.swift
+++ b/Frameworks/TermindPersistence/TermindPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/TermindSchemaV19ForwardingModels.swift b/Frameworks/TermindPersistence/TermindSchemaV19ForwardingModels.swift
index c526db9b..7a4700e4 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV19ForwardingModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV19ForwardingModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV22HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV22HostModels.swift
index c696a4d9..d394dac1 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV22HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV22HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV24HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV24HostModels.swift
index e51314f2..ee9ac221 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV24HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV24HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV25IdentityModels.swift b/Frameworks/TermindPersistence/TermindSchemaV25IdentityModels.swift
index 07ff0614..74a8f36a 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV25IdentityModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV25IdentityModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV26HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV26HostModels.swift
index e36b1d49..5161470f 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV26HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV26HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV27HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV27HostModels.swift
index 9433f339..48800945 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV27HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV27HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV28HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV28HostModels.swift
index 3f4b44ba..a3ee1f50 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV28HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV28HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV29HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV29HostModels.swift
index 973980b6..f091f68e 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV29HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV29HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV30KnownHostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV30KnownHostModels.swift
index b4b3ad1c..85091bc2 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV30KnownHostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV30KnownHostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV33IdentityModels.swift b/Frameworks/TermindPersistence/TermindSchemaV33IdentityModels.swift
index 7a06a8de..f8142a63 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV33IdentityModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV33IdentityModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV35ImportModels.swift b/Frameworks/TermindPersistence/TermindSchemaV35ImportModels.swift
index f351c670..48e0655f 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV35ImportModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV35ImportModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/TermindSchemaV44HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV44HostModels.swift
index e9bd4f4e..8881b02f 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV44HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV44HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV45KeyModels.swift b/Frameworks/TermindPersistence/TermindSchemaV45KeyModels.swift
index 7f5b0e59..07cb430a 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV45KeyModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV45KeyModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV47TailscaleModels.swift b/Frameworks/TermindPersistence/TermindSchemaV47TailscaleModels.swift
index 30025e0a..476edd50 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV47TailscaleModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV47TailscaleModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/TermindSchemaV48TailscaleModels.swift b/Frameworks/TermindPersistence/TermindSchemaV48TailscaleModels.swift
index ea43a992..7c74ab54 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV48TailscaleModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV48TailscaleModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
diff --git a/Frameworks/TermindPersistence/TermindSchemaV50SnippetModels.swift b/Frameworks/TermindPersistence/TermindSchemaV50SnippetModels.swift
index 41a80636..270c3afd 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV50SnippetModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV50SnippetModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV53HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV53HostModels.swift
index 2bb46ae7..6c2da50d 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV53HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV53HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV54HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV54HostModels.swift
index ad75fe93..f016ae62 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV54HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV54HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV55HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV55HostModels.swift
index 9fb41f50..89cd4c65 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV55HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV55HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV56HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV56HostModels.swift
index 798efbba..a9182df7 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV56HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV56HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/TermindSchemaV58HostModels.swift b/Frameworks/TermindPersistence/TermindSchemaV58HostModels.swift
index 02981048..b7c52a56 100644
--- a/Frameworks/TermindPersistence/TermindSchemaV58HostModels.swift
+++ b/Frameworks/TermindPersistence/TermindSchemaV58HostModels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultSyncPersistence.swift b/Frameworks/TermindPersistence/VaultSyncPersistence.swift
index 224f84a2..a4ea652b 100644
--- a/Frameworks/TermindPersistence/VaultSyncPersistence.swift
+++ b/Frameworks/TermindPersistence/VaultSyncPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWireV1.swift b/Frameworks/TermindPersistence/VaultWireV1.swift
index aaa8c221..b7661af1 100644
--- a/Frameworks/TermindPersistence/VaultWireV1.swift
+++ b/Frameworks/TermindPersistence/VaultWireV1.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWireV1Validation.swift b/Frameworks/TermindPersistence/VaultWireV1Validation.swift
index cfbc6350..6a6209e6 100644
--- a/Frameworks/TermindPersistence/VaultWireV1Validation.swift
+++ b/Frameworks/TermindPersistence/VaultWireV1Validation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWireV2.swift b/Frameworks/TermindPersistence/VaultWireV2.swift
index 6583c607..cd0c5cb5 100644
--- a/Frameworks/TermindPersistence/VaultWireV2.swift
+++ b/Frameworks/TermindPersistence/VaultWireV2.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWireV3.swift b/Frameworks/TermindPersistence/VaultWireV3.swift
index 79f7737c..19d4b9f1 100644
--- a/Frameworks/TermindPersistence/VaultWireV3.swift
+++ b/Frameworks/TermindPersistence/VaultWireV3.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWireV4.swift b/Frameworks/TermindPersistence/VaultWireV4.swift
index 1a18c294..41ce5672 100644
--- a/Frameworks/TermindPersistence/VaultWireV4.swift
+++ b/Frameworks/TermindPersistence/VaultWireV4.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWireV5.swift b/Frameworks/TermindPersistence/VaultWireV5.swift
index 7e4d6d73..588c27cb 100644
--- a/Frameworks/TermindPersistence/VaultWireV5.swift
+++ b/Frameworks/TermindPersistence/VaultWireV5.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWireV6.swift b/Frameworks/TermindPersistence/VaultWireV6.swift
index 47500d76..dc1459c8 100644
--- a/Frameworks/TermindPersistence/VaultWireV6.swift
+++ b/Frameworks/TermindPersistence/VaultWireV6.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWireV7.swift b/Frameworks/TermindPersistence/VaultWireV7.swift
index 72815ed4..6db6f005 100644
--- a/Frameworks/TermindPersistence/VaultWireV7.swift
+++ b/Frameworks/TermindPersistence/VaultWireV7.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWireV8.swift b/Frameworks/TermindPersistence/VaultWireV8.swift
index fea94e14..01c953fa 100644
--- a/Frameworks/TermindPersistence/VaultWireV8.swift
+++ b/Frameworks/TermindPersistence/VaultWireV8.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VaultWorkspaceWireV2.swift b/Frameworks/TermindPersistence/VaultWorkspaceWireV2.swift
index f6ef3919..902edb2c 100644
--- a/Frameworks/TermindPersistence/VaultWorkspaceWireV2.swift
+++ b/Frameworks/TermindPersistence/VaultWorkspaceWireV2.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPersistence/VersionedRecordDecoder.swift b/Frameworks/TermindPersistence/VersionedRecordDecoder.swift
index 91777808..0913ef97 100644
--- a/Frameworks/TermindPersistence/VersionedRecordDecoder.swift
+++ b/Frameworks/TermindPersistence/VersionedRecordDecoder.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPresentation/AgentChatToolPresentation.swift b/Frameworks/TermindPresentation/AgentChatToolPresentation.swift
index 19feda39..3e1b9caa 100644
--- a/Frameworks/TermindPresentation/AgentChatToolPresentation.swift
+++ b/Frameworks/TermindPresentation/AgentChatToolPresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/AgentKnowledgeToolPresentation.swift b/Frameworks/TermindPresentation/AgentKnowledgeToolPresentation.swift
index c3eaa08f..4af83ceb 100644
--- a/Frameworks/TermindPresentation/AgentKnowledgeToolPresentation.swift
+++ b/Frameworks/TermindPresentation/AgentKnowledgeToolPresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/AgentPaneToolPresentation.swift b/Frameworks/TermindPresentation/AgentPaneToolPresentation.swift
index 0832a1f5..0ededdb8 100644
--- a/Frameworks/TermindPresentation/AgentPaneToolPresentation.swift
+++ b/Frameworks/TermindPresentation/AgentPaneToolPresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/AgentToolDetailPreview.swift b/Frameworks/TermindPresentation/AgentToolDetailPreview.swift
index 4d887a37..54d2e709 100644
--- a/Frameworks/TermindPresentation/AgentToolDetailPreview.swift
+++ b/Frameworks/TermindPresentation/AgentToolDetailPreview.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindPresentation/AgentToolPresentation.swift b/Frameworks/TermindPresentation/AgentToolPresentation.swift
index 041b2b1d..e17f61aa 100644
--- a/Frameworks/TermindPresentation/AgentToolPresentation.swift
+++ b/Frameworks/TermindPresentation/AgentToolPresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/AgentToolPresentationProfile.swift b/Frameworks/TermindPresentation/AgentToolPresentationProfile.swift
index 0fa935a4..eddc73de 100644
--- a/Frameworks/TermindPresentation/AgentToolPresentationProfile.swift
+++ b/Frameworks/TermindPresentation/AgentToolPresentationProfile.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/AgentToolPresentationVocabulary.swift b/Frameworks/TermindPresentation/AgentToolPresentationVocabulary.swift
index 27809354..f23eb659 100644
--- a/Frameworks/TermindPresentation/AgentToolPresentationVocabulary.swift
+++ b/Frameworks/TermindPresentation/AgentToolPresentationVocabulary.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindPresentation/AppReviewDeveloperSection.swift b/Frameworks/TermindPresentation/AppReviewDeveloperSection.swift
index 6b2b9d5e..4263c47d 100644
--- a/Frameworks/TermindPresentation/AppReviewDeveloperSection.swift
+++ b/Frameworks/TermindPresentation/AppReviewDeveloperSection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/AppReviewInvitationView.swift b/Frameworks/TermindPresentation/AppReviewInvitationView.swift
index 8a99dab8..fe4fadc4 100644
--- a/Frameworks/TermindPresentation/AppReviewInvitationView.swift
+++ b/Frameworks/TermindPresentation/AppReviewInvitationView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/AssistantCompactToolDetails.swift b/Frameworks/TermindPresentation/AssistantCompactToolDetails.swift
index 3d1449c7..fbd08f4b 100644
--- a/Frameworks/TermindPresentation/AssistantCompactToolDetails.swift
+++ b/Frameworks/TermindPresentation/AssistantCompactToolDetails.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
diff --git a/Frameworks/TermindPresentation/AssistantContextGauge.swift b/Frameworks/TermindPresentation/AssistantContextGauge.swift
index 6cdea0a2..a287c0c8 100644
--- a/Frameworks/TermindPresentation/AssistantContextGauge.swift
+++ b/Frameworks/TermindPresentation/AssistantContextGauge.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
diff --git a/Frameworks/TermindPresentation/AssistantCopyButton.swift b/Frameworks/TermindPresentation/AssistantCopyButton.swift
index a94765c0..d8ad0a34 100644
--- a/Frameworks/TermindPresentation/AssistantCopyButton.swift
+++ b/Frameworks/TermindPresentation/AssistantCopyButton.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public struct AssistantCopyButton: View {
diff --git a/Frameworks/TermindPresentation/AssistantFailurePresentation.swift b/Frameworks/TermindPresentation/AssistantFailurePresentation.swift
index 50f89e54..0afaf2db 100644
--- a/Frameworks/TermindPresentation/AssistantFailurePresentation.swift
+++ b/Frameworks/TermindPresentation/AssistantFailurePresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Compact disclosure titles derived from diagnostics, without changing the full error detail.
diff --git a/Frameworks/TermindPresentation/AssistantMessageBody.swift b/Frameworks/TermindPresentation/AssistantMessageBody.swift
index ea70262d..f8a1e505 100644
--- a/Frameworks/TermindPresentation/AssistantMessageBody.swift
+++ b/Frameworks/TermindPresentation/AssistantMessageBody.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import MarkdownView
import SwiftUI
diff --git a/Frameworks/TermindPresentation/AssistantToolDetails.swift b/Frameworks/TermindPresentation/AssistantToolDetails.swift
index 16ff17c2..6cc50124 100644
--- a/Frameworks/TermindPresentation/AssistantToolDetails.swift
+++ b/Frameworks/TermindPresentation/AssistantToolDetails.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
diff --git a/Frameworks/TermindPresentation/AssistantTranscriptEntry.swift b/Frameworks/TermindPresentation/AssistantTranscriptEntry.swift
index 3fd00388..3cc41ef1 100644
--- a/Frameworks/TermindPresentation/AssistantTranscriptEntry.swift
+++ b/Frameworks/TermindPresentation/AssistantTranscriptEntry.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/AssistantTranscriptPresentationState.swift b/Frameworks/TermindPresentation/AssistantTranscriptPresentationState.swift
index 6e77e1a2..9ad34156 100644
--- a/Frameworks/TermindPresentation/AssistantTranscriptPresentationState.swift
+++ b/Frameworks/TermindPresentation/AssistantTranscriptPresentationState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/AssistantTranscriptStyle.swift b/Frameworks/TermindPresentation/AssistantTranscriptStyle.swift
index be0b7e7e..da58d79c 100644
--- a/Frameworks/TermindPresentation/AssistantTranscriptStyle.swift
+++ b/Frameworks/TermindPresentation/AssistantTranscriptStyle.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
diff --git a/Frameworks/TermindPresentation/ChatMessageTimestampFormatter.swift b/Frameworks/TermindPresentation/ChatMessageTimestampFormatter.swift
index e6be5cca..89e95371 100644
--- a/Frameworks/TermindPresentation/ChatMessageTimestampFormatter.swift
+++ b/Frameworks/TermindPresentation/ChatMessageTimestampFormatter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated public enum ChatMessageTimestampFormatter {
diff --git a/Frameworks/TermindPresentation/CloudSyncSettingsContent.swift b/Frameworks/TermindPresentation/CloudSyncSettingsContent.swift
index 63696104..284d12c4 100644
--- a/Frameworks/TermindPresentation/CloudSyncSettingsContent.swift
+++ b/Frameworks/TermindPresentation/CloudSyncSettingsContent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// Shared section ownership keeps macOS and iOS copy, order and disabled states
diff --git a/Frameworks/TermindPresentation/CloudSyncSummaryView.swift b/Frameworks/TermindPresentation/CloudSyncSummaryView.swift
index 64f765f0..2e2143aa 100644
--- a/Frameworks/TermindPresentation/CloudSyncSummaryView.swift
+++ b/Frameworks/TermindPresentation/CloudSyncSummaryView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/ColorTagPicker.swift b/Frameworks/TermindPresentation/ColorTagPicker.swift
index c5a901a0..089d8436 100644
--- a/Frameworks/TermindPresentation/ColorTagPicker.swift
+++ b/Frameworks/TermindPresentation/ColorTagPicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/CommandHistoryPresentation.swift b/Frameworks/TermindPresentation/CommandHistoryPresentation.swift
index 4acc3ecf..1d0759dd 100644
--- a/Frameworks/TermindPresentation/CommandHistoryPresentation.swift
+++ b/Frameworks/TermindPresentation/CommandHistoryPresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPresentation/ConnectionDecisionForms.swift b/Frameworks/TermindPresentation/ConnectionDecisionForms.swift
index 3c4caa37..7795f3a6 100644
--- a/Frameworks/TermindPresentation/ConnectionDecisionForms.swift
+++ b/Frameworks/TermindPresentation/ConnectionDecisionForms.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/ConnectionJourneyFailureCard.swift b/Frameworks/TermindPresentation/ConnectionJourneyFailureCard.swift
index 377c2f48..e3668410 100644
--- a/Frameworks/TermindPresentation/ConnectionJourneyFailureCard.swift
+++ b/Frameworks/TermindPresentation/ConnectionJourneyFailureCard.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// Shared failure content; each platform supplies its native actions and shortcuts.
diff --git a/Frameworks/TermindPresentation/ConnectionJourneyRouteStyle.swift b/Frameworks/TermindPresentation/ConnectionJourneyRouteStyle.swift
index 40b89ca1..20ae218c 100644
--- a/Frameworks/TermindPresentation/ConnectionJourneyRouteStyle.swift
+++ b/Frameworks/TermindPresentation/ConnectionJourneyRouteStyle.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/ConnectionJourneyRouteView.swift b/Frameworks/TermindPresentation/ConnectionJourneyRouteView.swift
index 76ff34fb..471a84cd 100644
--- a/Frameworks/TermindPresentation/ConnectionJourneyRouteView.swift
+++ b/Frameworks/TermindPresentation/ConnectionJourneyRouteView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/ConnectionJourneySections.swift b/Frameworks/TermindPresentation/ConnectionJourneySections.swift
index 250d4315..721f8f89 100644
--- a/Frameworks/TermindPresentation/ConnectionJourneySections.swift
+++ b/Frameworks/TermindPresentation/ConnectionJourneySections.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/ConnectionStatusIcon.swift b/Frameworks/TermindPresentation/ConnectionStatusIcon.swift
index b4a7f9a0..c7faab6f 100644
--- a/Frameworks/TermindPresentation/ConnectionStatusIcon.swift
+++ b/Frameworks/TermindPresentation/ConnectionStatusIcon.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/DataSizeFormat.swift b/Frameworks/TermindPresentation/DataSizeFormat.swift
index c0288ce0..cca287d4 100644
--- a/Frameworks/TermindPresentation/DataSizeFormat.swift
+++ b/Frameworks/TermindPresentation/DataSizeFormat.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/Frameworks/TermindPresentation/DeletionConfirmationPolicy.swift b/Frameworks/TermindPresentation/DeletionConfirmationPolicy.swift
index db89f184..37ea669b 100644
--- a/Frameworks/TermindPresentation/DeletionConfirmationPolicy.swift
+++ b/Frameworks/TermindPresentation/DeletionConfirmationPolicy.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
/// Describes whether a destructive UI action removes one selected item or clears
/// every item represented by the current collection.
public enum DeletionOperationScope: Equatable, Sendable {
diff --git a/Frameworks/TermindPresentation/DiagnosisConsentView.swift b/Frameworks/TermindPresentation/DiagnosisConsentView.swift
index 48026f3c..110dfe07 100644
--- a/Frameworks/TermindPresentation/DiagnosisConsentView.swift
+++ b/Frameworks/TermindPresentation/DiagnosisConsentView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/DropTargetOverlay.swift b/Frameworks/TermindPresentation/DropTargetOverlay.swift
index cd405df7..0b7f5c07 100644
--- a/Frameworks/TermindPresentation/DropTargetOverlay.swift
+++ b/Frameworks/TermindPresentation/DropTargetOverlay.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public nonisolated struct DropTargetPresentation: Equatable, Sendable {
diff --git a/Frameworks/TermindPresentation/FormNavigationAction.swift b/Frameworks/TermindPresentation/FormNavigationAction.swift
index 0fc154a1..ab34ba49 100644
--- a/Frameworks/TermindPresentation/FormNavigationAction.swift
+++ b/Frameworks/TermindPresentation/FormNavigationAction.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// A full-width form row that opens a creation or configuration flow.
diff --git a/Frameworks/TermindPresentation/HistoryMenuContent.swift b/Frameworks/TermindPresentation/HistoryMenuContent.swift
index 710b7493..298daeca 100644
--- a/Frameworks/TermindPresentation/HistoryMenuContent.swift
+++ b/Frameworks/TermindPresentation/HistoryMenuContent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/HostAccessError+Presentation.swift b/Frameworks/TermindPresentation/HostAccessError+Presentation.swift
index 30b9b4ed..ead24da5 100644
--- a/Frameworks/TermindPresentation/HostAccessError+Presentation.swift
+++ b/Frameworks/TermindPresentation/HostAccessError+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/HostConnectionFields.swift b/Frameworks/TermindPresentation/HostConnectionFields.swift
index 96df713e..ee15214a 100644
--- a/Frameworks/TermindPresentation/HostConnectionFields.swift
+++ b/Frameworks/TermindPresentation/HostConnectionFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/HostConnectionIcon.swift b/Frameworks/TermindPresentation/HostConnectionIcon.swift
index 5e4fbc57..2b1f71aa 100644
--- a/Frameworks/TermindPresentation/HostConnectionIcon.swift
+++ b/Frameworks/TermindPresentation/HostConnectionIcon.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/HostDistributionIcon.swift b/Frameworks/TermindPresentation/HostDistributionIcon.swift
index bfd232c9..58bd030a 100644
--- a/Frameworks/TermindPresentation/HostDistributionIcon.swift
+++ b/Frameworks/TermindPresentation/HostDistributionIcon.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/HostEditorBindings.swift b/Frameworks/TermindPresentation/HostEditorBindings.swift
index b6761257..5a5b48c0 100644
--- a/Frameworks/TermindPresentation/HostEditorBindings.swift
+++ b/Frameworks/TermindPresentation/HostEditorBindings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/HostGeneralIcon.swift b/Frameworks/TermindPresentation/HostGeneralIcon.swift
index ff44ae14..05eabd6a 100644
--- a/Frameworks/TermindPresentation/HostGeneralIcon.swift
+++ b/Frameworks/TermindPresentation/HostGeneralIcon.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum HostGeneralIcon: String, CaseIterable, Identifiable, Sendable {
diff --git a/Frameworks/TermindPresentation/HostIconArtwork.swift b/Frameworks/TermindPresentation/HostIconArtwork.swift
index 30fc230a..be003af3 100644
--- a/Frameworks/TermindPresentation/HostIconArtwork.swift
+++ b/Frameworks/TermindPresentation/HostIconArtwork.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public nonisolated enum HostIconArtwork: Equatable, Sendable {
diff --git a/Frameworks/TermindPresentation/HostIconBrandColor.swift b/Frameworks/TermindPresentation/HostIconBrandColor.swift
index 9d3a15d8..00d579df 100644
--- a/Frameworks/TermindPresentation/HostIconBrandColor.swift
+++ b/Frameworks/TermindPresentation/HostIconBrandColor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
diff --git a/Frameworks/TermindPresentation/HostIconCatalog.swift b/Frameworks/TermindPresentation/HostIconCatalog.swift
index 0ccfb0cc..afec035e 100644
--- a/Frameworks/TermindPresentation/HostIconCatalog.swift
+++ b/Frameworks/TermindPresentation/HostIconCatalog.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPresentation/HostIconPicker.swift b/Frameworks/TermindPresentation/HostIconPicker.swift
index 719c4317..4c7ec510 100644
--- a/Frameworks/TermindPresentation/HostIconPicker.swift
+++ b/Frameworks/TermindPresentation/HostIconPicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/HostIntegrationSection.swift b/Frameworks/TermindPresentation/HostIntegrationSection.swift
index 0fe76b87..cc46b311 100644
--- a/Frameworks/TermindPresentation/HostIntegrationSection.swift
+++ b/Frameworks/TermindPresentation/HostIntegrationSection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/HostMACAddressCandidatesView.swift b/Frameworks/TermindPresentation/HostMACAddressCandidatesView.swift
index 4ccc2f10..23d3759f 100644
--- a/Frameworks/TermindPresentation/HostMACAddressCandidatesView.swift
+++ b/Frameworks/TermindPresentation/HostMACAddressCandidatesView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/HostSystemIcon.swift b/Frameworks/TermindPresentation/HostSystemIcon.swift
index 6f96d003..032bd9b6 100644
--- a/Frameworks/TermindPresentation/HostSystemIcon.swift
+++ b/Frameworks/TermindPresentation/HostSystemIcon.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// The same system artwork in a host row and a workspace's Live Activity link.
diff --git a/Frameworks/TermindPresentation/HostTransportSection.swift b/Frameworks/TermindPresentation/HostTransportSection.swift
index 1fa4069d..acf8dd6d 100644
--- a/Frameworks/TermindPresentation/HostTransportSection.swift
+++ b/Frameworks/TermindPresentation/HostTransportSection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/HostWakeOnLANSection.swift b/Frameworks/TermindPresentation/HostWakeOnLANSection.swift
index ed9df2d8..90ac9905 100644
--- a/Frameworks/TermindPresentation/HostWakeOnLANSection.swift
+++ b/Frameworks/TermindPresentation/HostWakeOnLANSection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/IdentityFormSections.swift b/Frameworks/TermindPresentation/IdentityFormSections.swift
index cd81b894..311f1599 100644
--- a/Frameworks/TermindPresentation/IdentityFormSections.swift
+++ b/Frameworks/TermindPresentation/IdentityFormSections.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/InitialNotificationAuthorization.swift b/Frameworks/TermindPresentation/InitialNotificationAuthorization.swift
index d7c10895..7da50c1d 100644
--- a/Frameworks/TermindPresentation/InitialNotificationAuthorization.swift
+++ b/Frameworks/TermindPresentation/InitialNotificationAuthorization.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/KeyCreationStoragePicker.swift b/Frameworks/TermindPresentation/KeyCreationStoragePicker.swift
index 93c30ca0..c046252b 100644
--- a/Frameworks/TermindPresentation/KeyCreationStoragePicker.swift
+++ b/Frameworks/TermindPresentation/KeyCreationStoragePicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/KeyExportForm.swift b/Frameworks/TermindPresentation/KeyExportForm.swift
index ce66ee3b..c7e9f7de 100644
--- a/Frameworks/TermindPresentation/KeyExportForm.swift
+++ b/Frameworks/TermindPresentation/KeyExportForm.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/KnownHost+Presentation.swift b/Frameworks/TermindPresentation/KnownHost+Presentation.swift
index 05081ba0..5f635b1c 100644
--- a/Frameworks/TermindPresentation/KnownHost+Presentation.swift
+++ b/Frameworks/TermindPresentation/KnownHost+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPresentation/LibraryCardChip.swift b/Frameworks/TermindPresentation/LibraryCardChip.swift
index c21f1a3b..bf64be7f 100644
--- a/Frameworks/TermindPresentation/LibraryCardChip.swift
+++ b/Frameworks/TermindPresentation/LibraryCardChip.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public struct LibraryCardChip: View {
diff --git a/Frameworks/TermindPresentation/LibraryCardIcon.swift b/Frameworks/TermindPresentation/LibraryCardIcon.swift
index 853c6b9b..8f887340 100644
--- a/Frameworks/TermindPresentation/LibraryCardIcon.swift
+++ b/Frameworks/TermindPresentation/LibraryCardIcon.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public struct LibraryCardIcon: View {
diff --git a/Frameworks/TermindPresentation/LocalDiscoveryView.swift b/Frameworks/TermindPresentation/LocalDiscoveryView.swift
index ace97faa..c60438ba 100644
--- a/Frameworks/TermindPresentation/LocalDiscoveryView.swift
+++ b/Frameworks/TermindPresentation/LocalDiscoveryView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/LoggingFileLabel.swift b/Frameworks/TermindPresentation/LoggingFileLabel.swift
index bb3da37c..2fe32900 100644
--- a/Frameworks/TermindPresentation/LoggingFileLabel.swift
+++ b/Frameworks/TermindPresentation/LoggingFileLabel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/LoggingSettingsSection.swift b/Frameworks/TermindPresentation/LoggingSettingsSection.swift
index 5c0c380e..8d98726c 100644
--- a/Frameworks/TermindPresentation/LoggingSettingsSection.swift
+++ b/Frameworks/TermindPresentation/LoggingSettingsSection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/MCPImportFeedback.swift b/Frameworks/TermindPresentation/MCPImportFeedback.swift
index 3287a298..7ea7ac39 100644
--- a/Frameworks/TermindPresentation/MCPImportFeedback.swift
+++ b/Frameworks/TermindPresentation/MCPImportFeedback.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/MemorySettingsSection.swift b/Frameworks/TermindPresentation/MemorySettingsSection.swift
index b5314e30..b4e6b5ad 100644
--- a/Frameworks/TermindPresentation/MemorySettingsSection.swift
+++ b/Frameworks/TermindPresentation/MemorySettingsSection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/MetricsCPUContent.swift b/Frameworks/TermindPresentation/MetricsCPUContent.swift
index 7d01a3a2..d39e3d83 100644
--- a/Frameworks/TermindPresentation/MetricsCPUContent.swift
+++ b/Frameworks/TermindPresentation/MetricsCPUContent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/MetricsDiskTable.swift b/Frameworks/TermindPresentation/MetricsDiskTable.swift
index 7ba7450a..a081fada 100644
--- a/Frameworks/TermindPresentation/MetricsDiskTable.swift
+++ b/Frameworks/TermindPresentation/MetricsDiskTable.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/MetricsFigure.swift b/Frameworks/TermindPresentation/MetricsFigure.swift
index 725da589..4276a566 100644
--- a/Frameworks/TermindPresentation/MetricsFigure.swift
+++ b/Frameworks/TermindPresentation/MetricsFigure.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
struct MetricsFigure: View {
diff --git a/Frameworks/TermindPresentation/MetricsFormat.swift b/Frameworks/TermindPresentation/MetricsFormat.swift
index b94dc5ae..819fb456 100644
--- a/Frameworks/TermindPresentation/MetricsFormat.swift
+++ b/Frameworks/TermindPresentation/MetricsFormat.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum MetricsFormat {
diff --git a/Frameworks/TermindPresentation/MetricsGPUSection.swift b/Frameworks/TermindPresentation/MetricsGPUSection.swift
index 56d6d642..484e2b49 100644
--- a/Frameworks/TermindPresentation/MetricsGPUSection.swift
+++ b/Frameworks/TermindPresentation/MetricsGPUSection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/MetricsHostLockNotice.swift b/Frameworks/TermindPresentation/MetricsHostLockNotice.swift
index 35b2bd11..b18389f6 100644
--- a/Frameworks/TermindPresentation/MetricsHostLockNotice.swift
+++ b/Frameworks/TermindPresentation/MetricsHostLockNotice.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public struct MetricsHostLockNotice: View {
diff --git a/Frameworks/TermindPresentation/MetricsInstrumentBody.swift b/Frameworks/TermindPresentation/MetricsInstrumentBody.swift
index 2ad822c8..6512be2c 100644
--- a/Frameworks/TermindPresentation/MetricsInstrumentBody.swift
+++ b/Frameworks/TermindPresentation/MetricsInstrumentBody.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/MetricsRing.swift b/Frameworks/TermindPresentation/MetricsRing.swift
index 7e6a4be2..8cc24727 100644
--- a/Frameworks/TermindPresentation/MetricsRing.swift
+++ b/Frameworks/TermindPresentation/MetricsRing.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public struct MetricsRing: View {
diff --git a/Frameworks/TermindPresentation/MetricsSystemPanels.swift b/Frameworks/TermindPresentation/MetricsSystemPanels.swift
index f5c521df..4acb96a5 100644
--- a/Frameworks/TermindPresentation/MetricsSystemPanels.swift
+++ b/Frameworks/TermindPresentation/MetricsSystemPanels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/ModelProviderConnectionFields.swift b/Frameworks/TermindPresentation/ModelProviderConnectionFields.swift
index 1977c303..78ad8c6c 100644
--- a/Frameworks/TermindPresentation/ModelProviderConnectionFields.swift
+++ b/Frameworks/TermindPresentation/ModelProviderConnectionFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/ModelProviderVertexFields.swift b/Frameworks/TermindPresentation/ModelProviderVertexFields.swift
index 5e2b2bfd..e108f032 100644
--- a/Frameworks/TermindPresentation/ModelProviderVertexFields.swift
+++ b/Frameworks/TermindPresentation/ModelProviderVertexFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import UniformTypeIdentifiers
diff --git a/Frameworks/TermindPresentation/ModelRoleSettings.swift b/Frameworks/TermindPresentation/ModelRoleSettings.swift
index d958868f..f916397c 100644
--- a/Frameworks/TermindPresentation/ModelRoleSettings.swift
+++ b/Frameworks/TermindPresentation/ModelRoleSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/MultiConnectionSettingsAccess.swift b/Frameworks/TermindPresentation/MultiConnectionSettingsAccess.swift
index a0680153..6f0d0b21 100644
--- a/Frameworks/TermindPresentation/MultiConnectionSettingsAccess.swift
+++ b/Frameworks/TermindPresentation/MultiConnectionSettingsAccess.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/NotificationCountBadge.swift b/Frameworks/TermindPresentation/NotificationCountBadge.swift
index a45c88a4..227ca4e5 100644
--- a/Frameworks/TermindPresentation/NotificationCountBadge.swift
+++ b/Frameworks/TermindPresentation/NotificationCountBadge.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public struct NotificationCountBadge: View {
diff --git a/Frameworks/TermindPresentation/NotificationSettingsFields.swift b/Frameworks/TermindPresentation/NotificationSettingsFields.swift
index 3876c881..06f2b5ba 100644
--- a/Frameworks/TermindPresentation/NotificationSettingsFields.swift
+++ b/Frameworks/TermindPresentation/NotificationSettingsFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/NotificationUnreadDot.swift b/Frameworks/TermindPresentation/NotificationUnreadDot.swift
index 07c839a6..cc00b8ef 100644
--- a/Frameworks/TermindPresentation/NotificationUnreadDot.swift
+++ b/Frameworks/TermindPresentation/NotificationUnreadDot.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public struct NotificationUnreadDot: View {
diff --git a/Frameworks/TermindPresentation/OperationConfirmation.swift b/Frameworks/TermindPresentation/OperationConfirmation.swift
index f9c6cf56..565a3861 100644
--- a/Frameworks/TermindPresentation/OperationConfirmation.swift
+++ b/Frameworks/TermindPresentation/OperationConfirmation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
#if os(iOS)
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/PortForwardingFields.swift b/Frameworks/TermindPresentation/PortForwardingFields.swift
index 09572f05..b2837cbe 100644
--- a/Frameworks/TermindPresentation/PortForwardingFields.swift
+++ b/Frameworks/TermindPresentation/PortForwardingFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/PortForwardingRule+Presentation.swift b/Frameworks/TermindPresentation/PortForwardingRule+Presentation.swift
index b44ffe7d..b9fb3bef 100644
--- a/Frameworks/TermindPresentation/PortForwardingRule+Presentation.swift
+++ b/Frameworks/TermindPresentation/PortForwardingRule+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPresentation/ProPaywallState.swift b/Frameworks/TermindPresentation/ProPaywallState.swift
index d4176c99..a3504473 100644
--- a/Frameworks/TermindPresentation/ProPaywallState.swift
+++ b/Frameworks/TermindPresentation/ProPaywallState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPresentation/ReferenceDropLoader.swift b/Frameworks/TermindPresentation/ReferenceDropLoader.swift
index 19b2c43c..3dbdcd2b 100644
--- a/Frameworks/TermindPresentation/ReferenceDropLoader.swift
+++ b/Frameworks/TermindPresentation/ReferenceDropLoader.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import UniformTypeIdentifiers
diff --git a/Frameworks/TermindPresentation/RemoteFileSort.swift b/Frameworks/TermindPresentation/RemoteFileSort.swift
index af6395d3..17f6c5fd 100644
--- a/Frameworks/TermindPresentation/RemoteFileSort.swift
+++ b/Frameworks/TermindPresentation/RemoteFileSort.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPresentation/RemoteSessionPromptView.swift b/Frameworks/TermindPresentation/RemoteSessionPromptView.swift
index 5ddfbfd7..6b91eb43 100644
--- a/Frameworks/TermindPresentation/RemoteSessionPromptView.swift
+++ b/Frameworks/TermindPresentation/RemoteSessionPromptView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/RevealableSecretField.swift b/Frameworks/TermindPresentation/RevealableSecretField.swift
index d88fba49..579c29d9 100644
--- a/Frameworks/TermindPresentation/RevealableSecretField.swift
+++ b/Frameworks/TermindPresentation/RevealableSecretField.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// A secret entry field whose clear-text presentation is explicit and temporary.
diff --git a/Frameworks/TermindPresentation/SFTP/RemoteFile+Presentation.swift b/Frameworks/TermindPresentation/SFTP/RemoteFile+Presentation.swift
index 766387bc..28d4ad98 100644
--- a/Frameworks/TermindPresentation/SFTP/RemoteFile+Presentation.swift
+++ b/Frameworks/TermindPresentation/SFTP/RemoteFile+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SFTP/SFTPEditUploadOverlay.swift b/Frameworks/TermindPresentation/SFTP/SFTPEditUploadOverlay.swift
index 25a17703..2761075c 100644
--- a/Frameworks/TermindPresentation/SFTP/SFTPEditUploadOverlay.swift
+++ b/Frameworks/TermindPresentation/SFTP/SFTPEditUploadOverlay.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SFTP/SFTPItemType.swift b/Frameworks/TermindPresentation/SFTP/SFTPItemType.swift
index 6d987985..4f77c697 100644
--- a/Frameworks/TermindPresentation/SFTP/SFTPItemType.swift
+++ b/Frameworks/TermindPresentation/SFTP/SFTPItemType.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import UniformTypeIdentifiers
nonisolated extension UTType {
diff --git a/Frameworks/TermindPresentation/SFTP/SFTPSettingsFields.swift b/Frameworks/TermindPresentation/SFTP/SFTPSettingsFields.swift
index dc76985f..e49661e5 100644
--- a/Frameworks/TermindPresentation/SFTP/SFTPSettingsFields.swift
+++ b/Frameworks/TermindPresentation/SFTP/SFTPSettingsFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SFTP/SFTPTransfer+Presentation.swift b/Frameworks/TermindPresentation/SFTP/SFTPTransfer+Presentation.swift
index 80ade384..54443ead 100644
--- a/Frameworks/TermindPresentation/SFTP/SFTPTransfer+Presentation.swift
+++ b/Frameworks/TermindPresentation/SFTP/SFTPTransfer+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SFTPNotificationContent.swift b/Frameworks/TermindPresentation/SFTPNotificationContent.swift
index feffeb44..6805177c 100644
--- a/Frameworks/TermindPresentation/SFTPNotificationContent.swift
+++ b/Frameworks/TermindPresentation/SFTPNotificationContent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public enum SFTPNotificationContent {
diff --git a/Frameworks/TermindPresentation/SSHExecToolPresentation.swift b/Frameworks/TermindPresentation/SSHExecToolPresentation.swift
index 452757ef..7fa53fc3 100644
--- a/Frameworks/TermindPresentation/SSHExecToolPresentation.swift
+++ b/Frameworks/TermindPresentation/SSHExecToolPresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/SSHKeyboardInteractiveForm.swift b/Frameworks/TermindPresentation/SSHKeyboardInteractiveForm.swift
index 515a2f90..366d2c85 100644
--- a/Frameworks/TermindPresentation/SSHKeyboardInteractiveForm.swift
+++ b/Frameworks/TermindPresentation/SSHKeyboardInteractiveForm.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/SSHSettingsFields.swift b/Frameworks/TermindPresentation/SSHSettingsFields.swift
index cf82324a..dc448f0d 100644
--- a/Frameworks/TermindPresentation/SSHSettingsFields.swift
+++ b/Frameworks/TermindPresentation/SSHSettingsFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SecurityKeyEditorForm.swift b/Frameworks/TermindPresentation/SecurityKeyEditorForm.swift
index e1e4a522..3d71d029 100644
--- a/Frameworks/TermindPresentation/SecurityKeyEditorForm.swift
+++ b/Frameworks/TermindPresentation/SecurityKeyEditorForm.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SecurityKeyEditorSections.swift b/Frameworks/TermindPresentation/SecurityKeyEditorSections.swift
index d206e4d2..1b524296 100644
--- a/Frameworks/TermindPresentation/SecurityKeyEditorSections.swift
+++ b/Frameworks/TermindPresentation/SecurityKeyEditorSections.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SingleLineTextInput.swift b/Frameworks/TermindPresentation/SingleLineTextInput.swift
index 9c5e7bf7..9a2ca603 100644
--- a/Frameworks/TermindPresentation/SingleLineTextInput.swift
+++ b/Frameworks/TermindPresentation/SingleLineTextInput.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
diff --git a/Frameworks/TermindPresentation/SkillPackageEditor.swift b/Frameworks/TermindPresentation/SkillPackageEditor.swift
index a095f11a..cdad2c8f 100644
--- a/Frameworks/TermindPresentation/SkillPackageEditor.swift
+++ b/Frameworks/TermindPresentation/SkillPackageEditor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import UniformTypeIdentifiers
diff --git a/Frameworks/TermindPresentation/SnippetCardContent.swift b/Frameworks/TermindPresentation/SnippetCardContent.swift
index 79b3e9ff..8f046837 100644
--- a/Frameworks/TermindPresentation/SnippetCardContent.swift
+++ b/Frameworks/TermindPresentation/SnippetCardContent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SnippetFormSections.swift b/Frameworks/TermindPresentation/SnippetFormSections.swift
index 067e1abc..96ec29ea 100644
--- a/Frameworks/TermindPresentation/SnippetFormSections.swift
+++ b/Frameworks/TermindPresentation/SnippetFormSections.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SnippetRiskChip.swift b/Frameworks/TermindPresentation/SnippetRiskChip.swift
index d459ecc7..1b9f9c81 100644
--- a/Frameworks/TermindPresentation/SnippetRiskChip.swift
+++ b/Frameworks/TermindPresentation/SnippetRiskChip.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/SpeechWaveformView.swift b/Frameworks/TermindPresentation/SpeechWaveformView.swift
index 56404bb8..0c7fb8d9 100644
--- a/Frameworks/TermindPresentation/SpeechWaveformView.swift
+++ b/Frameworks/TermindPresentation/SpeechWaveformView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// A compact, level-driven speech waveform shared by the macOS and iOS composers.
diff --git a/Frameworks/TermindPresentation/Strings/AppReview.swift b/Frameworks/TermindPresentation/Strings/AppReview.swift
index 1e0e046a..5eed0d13 100644
--- a/Frameworks/TermindPresentation/Strings/AppReview.swift
+++ b/Frameworks/TermindPresentation/Strings/AppReview.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/AppStrings+SecurityKey.swift b/Frameworks/TermindPresentation/Strings/AppStrings+SecurityKey.swift
index f76f73d9..f4410047 100644
--- a/Frameworks/TermindPresentation/Strings/AppStrings+SecurityKey.swift
+++ b/Frameworks/TermindPresentation/Strings/AppStrings+SecurityKey.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/AppStrings.swift b/Frameworks/TermindPresentation/Strings/AppStrings.swift
index bc7817dc..ab2e005a 100644
--- a/Frameworks/TermindPresentation/Strings/AppStrings.swift
+++ b/Frameworks/TermindPresentation/Strings/AppStrings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Semantic copy shared by the macOS and iOS apps. Resources are created on demand,
diff --git a/Frameworks/TermindPresentation/Strings/Assistant.swift b/Frameworks/TermindPresentation/Strings/Assistant.swift
index b531ee41..138a9e2f 100644
--- a/Frameworks/TermindPresentation/Strings/Assistant.swift
+++ b/Frameworks/TermindPresentation/Strings/Assistant.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/CommandNotifications.swift b/Frameworks/TermindPresentation/Strings/CommandNotifications.swift
index 680549d8..6df22ad9 100644
--- a/Frameworks/TermindPresentation/Strings/CommandNotifications.swift
+++ b/Frameworks/TermindPresentation/Strings/CommandNotifications.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Common.swift b/Frameworks/TermindPresentation/Strings/Common.swift
index de350f05..1384d599 100644
--- a/Frameworks/TermindPresentation/Strings/Common.swift
+++ b/Frameworks/TermindPresentation/Strings/Common.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Connections.swift b/Frameworks/TermindPresentation/Strings/Connections.swift
index 24240ec7..18e04108 100644
--- a/Frameworks/TermindPresentation/Strings/Connections.swift
+++ b/Frameworks/TermindPresentation/Strings/Connections.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Diagnosis.swift b/Frameworks/TermindPresentation/Strings/Diagnosis.swift
index 3ace77b3..21366800 100644
--- a/Frameworks/TermindPresentation/Strings/Diagnosis.swift
+++ b/Frameworks/TermindPresentation/Strings/Diagnosis.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Forwarding.swift b/Frameworks/TermindPresentation/Strings/Forwarding.swift
index 1c046846..76afb7e2 100644
--- a/Frameworks/TermindPresentation/Strings/Forwarding.swift
+++ b/Frameworks/TermindPresentation/Strings/Forwarding.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/History.swift b/Frameworks/TermindPresentation/Strings/History.swift
index 72febd58..edf490e3 100644
--- a/Frameworks/TermindPresentation/Strings/History.swift
+++ b/Frameworks/TermindPresentation/Strings/History.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/HostIcons.swift b/Frameworks/TermindPresentation/Strings/HostIcons.swift
index d52a4b67..2dee380a 100644
--- a/Frameworks/TermindPresentation/Strings/HostIcons.swift
+++ b/Frameworks/TermindPresentation/Strings/HostIcons.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/KeyExport.swift b/Frameworks/TermindPresentation/Strings/KeyExport.swift
index 393a7b24..a85925bb 100644
--- a/Frameworks/TermindPresentation/Strings/KeyExport.swift
+++ b/Frameworks/TermindPresentation/Strings/KeyExport.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Keychain.swift b/Frameworks/TermindPresentation/Strings/Keychain.swift
index 18066329..4667f1d4 100644
--- a/Frameworks/TermindPresentation/Strings/Keychain.swift
+++ b/Frameworks/TermindPresentation/Strings/Keychain.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/KnownHosts.swift b/Frameworks/TermindPresentation/Strings/KnownHosts.swift
index 1c99ff5f..e6b90388 100644
--- a/Frameworks/TermindPresentation/Strings/KnownHosts.swift
+++ b/Frameworks/TermindPresentation/Strings/KnownHosts.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/LocalNetwork.swift b/Frameworks/TermindPresentation/Strings/LocalNetwork.swift
index 4bb9ce8f..dc5c718a 100644
--- a/Frameworks/TermindPresentation/Strings/LocalNetwork.swift
+++ b/Frameworks/TermindPresentation/Strings/LocalNetwork.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/LocalizedStringResource+Presentation.swift b/Frameworks/TermindPresentation/Strings/LocalizedStringResource+Presentation.swift
index 95cb0142..07cd7fcf 100644
--- a/Frameworks/TermindPresentation/Strings/LocalizedStringResource+Presentation.swift
+++ b/Frameworks/TermindPresentation/Strings/LocalizedStringResource+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
diff --git a/Frameworks/TermindPresentation/Strings/MCP.swift b/Frameworks/TermindPresentation/Strings/MCP.swift
index c5a55b1c..ffbaa7eb 100644
--- a/Frameworks/TermindPresentation/Strings/MCP.swift
+++ b/Frameworks/TermindPresentation/Strings/MCP.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Metrics.swift b/Frameworks/TermindPresentation/Strings/Metrics.swift
index fb7e493e..bdb7323f 100644
--- a/Frameworks/TermindPresentation/Strings/Metrics.swift
+++ b/Frameworks/TermindPresentation/Strings/Metrics.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Navigation.swift b/Frameworks/TermindPresentation/Strings/Navigation.swift
index 478f7cc7..17a5e65c 100644
--- a/Frameworks/TermindPresentation/Strings/Navigation.swift
+++ b/Frameworks/TermindPresentation/Strings/Navigation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Notifications.swift b/Frameworks/TermindPresentation/Strings/Notifications.swift
index fb32d752..4426d600 100644
--- a/Frameworks/TermindPresentation/Strings/Notifications.swift
+++ b/Frameworks/TermindPresentation/Strings/Notifications.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/Strings/Onboarding.swift b/Frameworks/TermindPresentation/Strings/Onboarding.swift
index f3fdc2e4..da7f263c 100644
--- a/Frameworks/TermindPresentation/Strings/Onboarding.swift
+++ b/Frameworks/TermindPresentation/Strings/Onboarding.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Presentation.swift b/Frameworks/TermindPresentation/Strings/Presentation.swift
index 23ad3186..939d1f9b 100644
--- a/Frameworks/TermindPresentation/Strings/Presentation.swift
+++ b/Frameworks/TermindPresentation/Strings/Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/Strings/Pro.swift b/Frameworks/TermindPresentation/Strings/Pro.swift
index 90edca11..382b9f5d 100644
--- a/Frameworks/TermindPresentation/Strings/Pro.swift
+++ b/Frameworks/TermindPresentation/Strings/Pro.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/SFTP.swift b/Frameworks/TermindPresentation/Strings/SFTP.swift
index 038b089f..d0522bb2 100644
--- a/Frameworks/TermindPresentation/Strings/SFTP.swift
+++ b/Frameworks/TermindPresentation/Strings/SFTP.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/SSHExec.swift b/Frameworks/TermindPresentation/Strings/SSHExec.swift
index 8187ee9d..0e221a8c 100644
--- a/Frameworks/TermindPresentation/Strings/SSHExec.swift
+++ b/Frameworks/TermindPresentation/Strings/SSHExec.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/SessionPersistence.swift b/Frameworks/TermindPresentation/Strings/SessionPersistence.swift
index 7c6514ec..f78888a1 100644
--- a/Frameworks/TermindPresentation/Strings/SessionPersistence.swift
+++ b/Frameworks/TermindPresentation/Strings/SessionPersistence.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Settings.swift b/Frameworks/TermindPresentation/Strings/Settings.swift
index 137ac0b4..a746e9a4 100644
--- a/Frameworks/TermindPresentation/Strings/Settings.swift
+++ b/Frameworks/TermindPresentation/Strings/Settings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Snippets.swift b/Frameworks/TermindPresentation/Strings/Snippets.swift
index 6003e010..faeffada 100644
--- a/Frameworks/TermindPresentation/Strings/Snippets.swift
+++ b/Frameworks/TermindPresentation/Strings/Snippets.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Tailscale.swift b/Frameworks/TermindPresentation/Strings/Tailscale.swift
index 548da645..1261f0e0 100644
--- a/Frameworks/TermindPresentation/Strings/Tailscale.swift
+++ b/Frameworks/TermindPresentation/Strings/Tailscale.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Terminal.swift b/Frameworks/TermindPresentation/Strings/Terminal.swift
index 0f56ffe7..603b11f9 100644
--- a/Frameworks/TermindPresentation/Strings/Terminal.swift
+++ b/Frameworks/TermindPresentation/Strings/Terminal.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/TerminalThemes.swift b/Frameworks/TermindPresentation/Strings/TerminalThemes.swift
index 8058dc4a..f79495a1 100644
--- a/Frameworks/TermindPresentation/Strings/TerminalThemes.swift
+++ b/Frameworks/TermindPresentation/Strings/TerminalThemes.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings.Settings {
diff --git a/Frameworks/TermindPresentation/Strings/Transports.swift b/Frameworks/TermindPresentation/Strings/Transports.swift
index df784a82..f6e0ebcb 100644
--- a/Frameworks/TermindPresentation/Strings/Transports.swift
+++ b/Frameworks/TermindPresentation/Strings/Transports.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Vault.swift b/Frameworks/TermindPresentation/Strings/Vault.swift
index 678496af..5d153921 100644
--- a/Frameworks/TermindPresentation/Strings/Vault.swift
+++ b/Frameworks/TermindPresentation/Strings/Vault.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/Strings/Workspace.swift b/Frameworks/TermindPresentation/Strings/Workspace.swift
index 14078ede..d4459432 100644
--- a/Frameworks/TermindPresentation/Strings/Workspace.swift
+++ b/Frameworks/TermindPresentation/Strings/Workspace.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension AppStrings {
diff --git a/Frameworks/TermindPresentation/SuggestedCommandCodeBlock.swift b/Frameworks/TermindPresentation/SuggestedCommandCodeBlock.swift
index 888427fc..049c7e70 100644
--- a/Frameworks/TermindPresentation/SuggestedCommandCodeBlock.swift
+++ b/Frameworks/TermindPresentation/SuggestedCommandCodeBlock.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import MarkdownView
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/TagColor+Presentation.swift b/Frameworks/TermindPresentation/TagColor+Presentation.swift
index e7aa07cb..a5fe6662 100644
--- a/Frameworks/TermindPresentation/TagColor+Presentation.swift
+++ b/Frameworks/TermindPresentation/TagColor+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/TagFieldPolicy.swift b/Frameworks/TermindPresentation/TagFieldPolicy.swift
index e8f44eb3..40237035 100644
--- a/Frameworks/TermindPresentation/TagFieldPolicy.swift
+++ b/Frameworks/TermindPresentation/TagFieldPolicy.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated enum TagFieldPolicy {
diff --git a/Frameworks/TermindPresentation/TagFlowLayout.swift b/Frameworks/TermindPresentation/TagFlowLayout.swift
index 78441a43..70b43f06 100644
--- a/Frameworks/TermindPresentation/TagFlowLayout.swift
+++ b/Frameworks/TermindPresentation/TagFlowLayout.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public struct TagFlowLayout: Layout {
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscaleCopyField.swift b/Frameworks/TermindPresentation/Tailscale/TailscaleCopyField.swift
index b3a94782..b4a53ec6 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscaleCopyField.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscaleCopyField.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// A single button makes the value, caption, whitespace and copy glyph one accessible action.
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscaleDeviceFields.swift b/Frameworks/TermindPresentation/Tailscale/TailscaleDeviceFields.swift
index e123dbe3..f180e88c 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscaleDeviceFields.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscaleDeviceFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscaleExitNodeField.swift b/Frameworks/TermindPresentation/Tailscale/TailscaleExitNodeField.swift
index 68f6796b..becd7735 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscaleExitNodeField.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscaleExitNodeField.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscaleFormRow.swift b/Frameworks/TermindPresentation/Tailscale/TailscaleFormRow.swift
index 2fe07bbf..983303b0 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscaleFormRow.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscaleFormRow.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// Form values keep their own wrapping height instead of compressing the field name.
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscaleGroupFields.swift b/Frameworks/TermindPresentation/Tailscale/TailscaleGroupFields.swift
index 9b3676a7..95e7acf1 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscaleGroupFields.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscaleGroupFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscaleHostnameField.swift b/Frameworks/TermindPresentation/Tailscale/TailscaleHostnameField.swift
index 753e0924..005ace44 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscaleHostnameField.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscaleHostnameField.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscaleLoginFields.swift b/Frameworks/TermindPresentation/Tailscale/TailscaleLoginFields.swift
index 30e5ab4c..2e2852eb 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscaleLoginFields.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscaleLoginFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscalePeerForm.swift b/Frameworks/TermindPresentation/Tailscale/TailscalePeerForm.swift
index 128f9913..15838ddf 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscalePeerForm.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscalePeerForm.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscalePeerView.swift b/Frameworks/TermindPresentation/Tailscale/TailscalePeerView.swift
index 0af9bbc3..e2c95f40 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscalePeerView.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscalePeerView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/Tailscale/TailscalePingSection.swift b/Frameworks/TermindPresentation/Tailscale/TailscalePingSection.swift
index b840c3fd..db7e68e2 100644
--- a/Frameworks/TermindPresentation/Tailscale/TailscalePingSection.swift
+++ b/Frameworks/TermindPresentation/Tailscale/TailscalePingSection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Charts
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalAppearance.swift b/Frameworks/TermindPresentation/Terminal/TerminalAppearance.swift
index a1382530..37a4650b 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalAppearance.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalAppearance.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import GhosttyTerminal
import GhosttyTheme
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalBackground.swift b/Frameworks/TermindPresentation/Terminal/TerminalBackground.swift
index ae4dce8e..ee32d12e 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalBackground.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalBackground.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTerminal
import SwiftUI
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalBellObservation.swift b/Frameworks/TermindPresentation/Terminal/TerminalBellObservation.swift
index ce80ea40..9cc802e0 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalBellObservation.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalBellObservation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Combine
import GhosttyTerminal
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalCommandNotificationContent.swift b/Frameworks/TermindPresentation/Terminal/TerminalCommandNotificationContent.swift
index 21d4de05..b4db3cee 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalCommandNotificationContent.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalCommandNotificationContent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalCommandObservation.swift b/Frameworks/TermindPresentation/Terminal/TerminalCommandObservation.swift
index bc7d39ae..3eb8e9a5 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalCommandObservation.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalCommandObservation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Combine
import GhosttyTerminal
import TermindApplication
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalConfigurationPreview.swift b/Frameworks/TermindPresentation/Terminal/TerminalConfigurationPreview.swift
index 62b71ae9..11777d53 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalConfigurationPreview.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalConfigurationPreview.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTerminal
import GhosttyTheme
import SwiftUI
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalCustomThemeSummary.swift b/Frameworks/TermindPresentation/Terminal/TerminalCustomThemeSummary.swift
index f390a65d..aa4141d0 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalCustomThemeSummary.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalCustomThemeSummary.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalFontFields.swift b/Frameworks/TermindPresentation/Terminal/TerminalFontFields.swift
index 1bad947e..8c092302 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalFontFields.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalFontFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalFontPicker.swift b/Frameworks/TermindPresentation/Terminal/TerminalFontPicker.swift
index 0bc199ea..9a533fe1 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalFontPicker.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalFontPicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
public struct TerminalFontPicker: View {
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalFontSettings.swift b/Frameworks/TermindPresentation/Terminal/TerminalFontSettings.swift
index a4fcd4e2..fd225f3f 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalFontSettings.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalFontSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalThemeOptions.swift b/Frameworks/TermindPresentation/Terminal/TerminalThemeOptions.swift
index beeec3ec..726742f8 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalThemeOptions.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalThemeOptions.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTheme
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/Terminal/TerminalThemeThumbnail.swift b/Frameworks/TermindPresentation/Terminal/TerminalThemeThumbnail.swift
index 4065a915..aa0f5ee8 100644
--- a/Frameworks/TermindPresentation/Terminal/TerminalThemeThumbnail.swift
+++ b/Frameworks/TermindPresentation/Terminal/TerminalThemeThumbnail.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTheme
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/TermindMarkdownParser.swift b/Frameworks/TermindPresentation/TermindMarkdownParser.swift
index 7736847f..19bf6e8e 100644
--- a/Frameworks/TermindPresentation/TermindMarkdownParser.swift
+++ b/Frameworks/TermindPresentation/TermindMarkdownParser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import MarkdownParser
diff --git a/Frameworks/TermindPresentation/TermindToolPresentationProfiles.swift b/Frameworks/TermindPresentation/TermindToolPresentationProfiles.swift
index 5d8b1935..d9161af1 100644
--- a/Frameworks/TermindPresentation/TermindToolPresentationProfiles.swift
+++ b/Frameworks/TermindPresentation/TermindToolPresentationProfiles.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/TermindToolPresentationVocabulary.swift b/Frameworks/TermindPresentation/TermindToolPresentationVocabulary.swift
index 00be4762..93b70044 100644
--- a/Frameworks/TermindPresentation/TermindToolPresentationVocabulary.swift
+++ b/Frameworks/TermindPresentation/TermindToolPresentationVocabulary.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/TextEditor+Scrollers.swift b/Frameworks/TermindPresentation/TextEditor+Scrollers.swift
index d914645a..2735c630 100644
--- a/Frameworks/TermindPresentation/TextEditor+Scrollers.swift
+++ b/Frameworks/TermindPresentation/TextEditor+Scrollers.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
#if os(macOS)
diff --git a/Frameworks/TermindPresentation/UnixPermissionFields.swift b/Frameworks/TermindPresentation/UnixPermissionFields.swift
index e57b163c..d2dd9b49 100644
--- a/Frameworks/TermindPresentation/UnixPermissionFields.swift
+++ b/Frameworks/TermindPresentation/UnixPermissionFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/UserInputSpeechControls.swift b/Frameworks/TermindPresentation/UserInputSpeechControls.swift
index 707dbb33..1227c010 100644
--- a/Frameworks/TermindPresentation/UserInputSpeechControls.swift
+++ b/Frameworks/TermindPresentation/UserInputSpeechControls.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// Trailing controls inside an answer field. Both recording actions stay on
diff --git a/Frameworks/TermindPresentation/VaultFormFields.swift b/Frameworks/TermindPresentation/VaultFormFields.swift
index 25c5b5e5..dbfb66db 100644
--- a/Frameworks/TermindPresentation/VaultFormFields.swift
+++ b/Frameworks/TermindPresentation/VaultFormFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/VaultSyncStatusLabel.swift b/Frameworks/TermindPresentation/VaultSyncStatusLabel.swift
index 9ca79cc4..c352f062 100644
--- a/Frameworks/TermindPresentation/VaultSyncStatusLabel.swift
+++ b/Frameworks/TermindPresentation/VaultSyncStatusLabel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/WakeOnLANError+Presentation.swift b/Frameworks/TermindPresentation/WakeOnLANError+Presentation.swift
index e83512f8..085120ac 100644
--- a/Frameworks/TermindPresentation/WakeOnLANError+Presentation.swift
+++ b/Frameworks/TermindPresentation/WakeOnLANError+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindPresentation/WakeOnLANSettingsAccess.swift b/Frameworks/TermindPresentation/WakeOnLANSettingsAccess.swift
index b9e21d21..c1215f88 100644
--- a/Frameworks/TermindPresentation/WakeOnLANSettingsAccess.swift
+++ b/Frameworks/TermindPresentation/WakeOnLANSettingsAccess.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/WebAuthnVerificationPicker.swift b/Frameworks/TermindPresentation/WebAuthnVerificationPicker.swift
index 06bb51f7..16545a72 100644
--- a/Frameworks/TermindPresentation/WebAuthnVerificationPicker.swift
+++ b/Frameworks/TermindPresentation/WebAuthnVerificationPicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/Frameworks/TermindPresentation/WorkspaceUploadNotice+Presentation.swift b/Frameworks/TermindPresentation/WorkspaceUploadNotice+Presentation.swift
index 8e4dbf6c..32d49b49 100644
--- a/Frameworks/TermindPresentation/WorkspaceUploadNotice+Presentation.swift
+++ b/Frameworks/TermindPresentation/WorkspaceUploadNotice+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/AgentBackgroundCommands.swift b/Frameworks/TermindRemoteInfrastructure/Agent/AgentBackgroundCommands.swift
index e83bef86..894ed9ea 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/AgentBackgroundCommands.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/AgentBackgroundCommands.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/AgentBuiltInSFTPTools.swift b/Frameworks/TermindRemoteInfrastructure/Agent/AgentBuiltInSFTPTools.swift
index e4e7c90b..b75a241f 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/AgentBuiltInSFTPTools.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/AgentBuiltInSFTPTools.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/AgentBuiltInSSHTools.swift b/Frameworks/TermindRemoteInfrastructure/Agent/AgentBuiltInSSHTools.swift
index cc79141f..b557b53b 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/AgentBuiltInSSHTools.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/AgentBuiltInSSHTools.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/AgentCommandOutputStream.swift b/Frameworks/TermindRemoteInfrastructure/Agent/AgentCommandOutputStream.swift
index 8bb7e083..0dd1a9d0 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/AgentCommandOutputStream.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/AgentCommandOutputStream.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/AgentConnections.swift b/Frameworks/TermindRemoteInfrastructure/Agent/AgentConnections.swift
index e7679111..d1fe8828 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/AgentConnections.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/AgentConnections.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/AgentHostServices.swift b/Frameworks/TermindRemoteInfrastructure/Agent/AgentHostServices.swift
index 7516af3e..0fed0860 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/AgentHostServices.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/AgentHostServices.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
/// The shared live host-facing services used by Assistant and the MCP bridge.
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/AgentPaneTools.swift b/Frameworks/TermindRemoteInfrastructure/Agent/AgentPaneTools.swift
index 57424d3d..ac19c88a 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/AgentPaneTools.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/AgentPaneTools.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/AgentScratchTransferTools.swift b/Frameworks/TermindRemoteInfrastructure/Agent/AgentScratchTransferTools.swift
index 4a70091d..2f93723d 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/AgentScratchTransferTools.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/AgentScratchTransferTools.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/AssistantToolRegistry.swift b/Frameworks/TermindRemoteInfrastructure/Agent/AssistantToolRegistry.swift
index 61b6b69c..b11700ef 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/AssistantToolRegistry.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/AssistantToolRegistry.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AgentKitScrubber
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/GetMetricsTool.swift b/Frameworks/TermindRemoteInfrastructure/Agent/GetMetricsTool.swift
index f8346203..72527c82 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/GetMetricsTool.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/GetMetricsTool.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/MetricsToolOutput.swift b/Frameworks/TermindRemoteInfrastructure/Agent/MetricsToolOutput.swift
index f4bf550e..2d9d4177 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/MetricsToolOutput.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/MetricsToolOutput.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/PlanningSSHExecRunTool.swift b/Frameworks/TermindRemoteInfrastructure/Agent/PlanningSSHExecRunTool.swift
index 60c0ce4e..9086dbbc 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/PlanningSSHExecRunTool.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/PlanningSSHExecRunTool.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/SFTPCopyTool.swift b/Frameworks/TermindRemoteInfrastructure/Agent/SFTPCopyTool.swift
index bc1a6ccf..64b6b375 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/SFTPCopyTool.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/SFTPCopyTool.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/SSHExecControlTools.swift b/Frameworks/TermindRemoteInfrastructure/Agent/SSHExecControlTools.swift
index 9050acd0..60433e1b 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/SSHExecControlTools.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/SSHExecControlTools.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/SSHExecRunTool.swift b/Frameworks/TermindRemoteInfrastructure/Agent/SSHExecRunTool.swift
index d7caf7f3..2bcece7c 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/SSHExecRunTool.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/SSHExecRunTool.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Agent/TermindAgentTools.swift b/Frameworks/TermindRemoteInfrastructure/Agent/TermindAgentTools.swift
index b156518f..0e233cd3 100644
--- a/Frameworks/TermindRemoteInfrastructure/Agent/TermindAgentTools.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Agent/TermindAgentTools.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/LocalNetwork/LANHostDiscovery.swift b/Frameworks/TermindRemoteInfrastructure/LocalNetwork/LANHostDiscovery.swift
index 080753f7..a869731e 100644
--- a/Frameworks/TermindRemoteInfrastructure/LocalNetwork/LANHostDiscovery.swift
+++ b/Frameworks/TermindRemoteInfrastructure/LocalNetwork/LANHostDiscovery.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import Network
diff --git a/Frameworks/TermindRemoteInfrastructure/LocalNetwork/LocalNetworkInterfaces.swift b/Frameworks/TermindRemoteInfrastructure/LocalNetwork/LocalNetworkInterfaces.swift
index bc11d887..0aca0a1c 100644
--- a/Frameworks/TermindRemoteInfrastructure/LocalNetwork/LocalNetworkInterfaces.swift
+++ b/Frameworks/TermindRemoteInfrastructure/LocalNetwork/LocalNetworkInterfaces.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/LocalNetwork/SSHHostMACAddressResolver.swift b/Frameworks/TermindRemoteInfrastructure/LocalNetwork/SSHHostMACAddressResolver.swift
index 48be47e8..963cfc9c 100644
--- a/Frameworks/TermindRemoteInfrastructure/LocalNetwork/SSHHostMACAddressResolver.swift
+++ b/Frameworks/TermindRemoteInfrastructure/LocalNetwork/SSHHostMACAddressResolver.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/Logging/RemoteLogging.swift b/Frameworks/TermindRemoteInfrastructure/Logging/RemoteLogging.swift
index 9fcf1b50..3e8d3187 100644
--- a/Frameworks/TermindRemoteInfrastructure/Logging/RemoteLogging.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Logging/RemoteLogging.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Logging
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/AccessControlledSFTPChannel.swift b/Frameworks/TermindRemoteInfrastructure/SSH/AccessControlledSFTPChannel.swift
index b797c0d4..4d1e15ae 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/AccessControlledSFTPChannel.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/AccessControlledSFTPChannel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/DispatchQueue+Async.swift b/Frameworks/TermindRemoteInfrastructure/SSH/DispatchQueue+Async.swift
index 3ddf39b4..a6909506 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/DispatchQueue+Async.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/DispatchQueue+Async.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension DispatchQueue {
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/EternalTerminalEngine.swift b/Frameworks/TermindRemoteInfrastructure/SSH/EternalTerminalEngine.swift
index 289d303c..b4f5ec76 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/EternalTerminalEngine.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/EternalTerminalEngine.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import ETBootstrap
import ETSession
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/MoshTerminalEngine.swift b/Frameworks/TermindRemoteInfrastructure/SSH/MoshTerminalEngine.swift
index caad8c93..23295cd7 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/MoshTerminalEngine.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/MoshTerminalEngine.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import MoshBootstrap
import MoshCore
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/PortForwardingController.swift b/Frameworks/TermindRemoteInfrastructure/SSH/PortForwardingController.swift
index b16266bd..707643ca 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/PortForwardingController.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/PortForwardingController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Logging
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteCharsetConverter.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteCharsetConverter.swift
index b6476270..d6276497 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteCharsetConverter.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteCharsetConverter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteConnectionCoordinator.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteConnectionCoordinator.swift
index 465ac910..a33ecfee 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteConnectionCoordinator.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteConnectionCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Logging
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteHerdrCommands.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteHerdrCommands.swift
index 10635e82..9c7b1f30 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteHerdrCommands.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteHerdrCommands.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerDialect.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerDialect.swift
index 5398785a..559bb95e 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerDialect.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerDialect.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerRuntimeAdapter.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerRuntimeAdapter.swift
index 12a08505..d84fafe9 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerRuntimeAdapter.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerRuntimeAdapter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerSupport.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerSupport.swift
index e5528d76..3fef4648 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerSupport.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteMultiplexerSupport.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteNativeMultiplexerRuntime.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteNativeMultiplexerRuntime.swift
index 57351829..2f10d507 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteNativeMultiplexerRuntime.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteNativeMultiplexerRuntime.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteSessionBackendRegistry.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteSessionBackendRegistry.swift
index 903f93bc..ae157c83 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteSessionBackendRegistry.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteSessionBackendRegistry.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteSessionTerminator.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteSessionTerminator.swift
index e70f2154..348f3057 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteSessionTerminator.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteSessionTerminator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellContextJournal.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellContextJournal.swift
index 80358eb4..ffb829e5 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellContextJournal.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellContextJournal.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellHistoryLoader.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellHistoryLoader.swift
index 076f6fe4..c3c65a03 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellHistoryLoader.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellHistoryLoader.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellStartup.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellStartup.swift
index 442a0eef..52f11349 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellStartup.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteShellStartup.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalContextFilter.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalContextFilter.swift
index 6944d66f..13ec35c2 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalContextFilter.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalContextFilter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalDraft.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalDraft.swift
index df21d158..57ef3c8f 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalDraft.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalDraft.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalProcessProbe.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalProcessProbe.swift
index aed227c5..80e137a3 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalProcessProbe.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTerminalProcessProbe.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxClientIdentity.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxClientIdentity.swift
index 745c92b3..506059e1 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxClientIdentity.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxClientIdentity.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxCommands.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxCommands.swift
index 710de6d2..a950fff1 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxCommands.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxCommands.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxDialect.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxDialect.swift
index 2426d35c..71682fe2 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxDialect.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxDialect.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxRuntimeDialect.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxRuntimeDialect.swift
index 208d9b78..f69cdada 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxRuntimeDialect.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteTmuxRuntimeDialect.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteZellijCommands.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteZellijCommands.swift
index 04fe8d47..e2309c7c 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteZellijCommands.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteZellijCommands.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteZmxCommands.swift b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteZmxCommands.swift
index 16d9709d..8d4146b0 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/RemoteZmxCommands.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/RemoteZmxCommands.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalClient.swift b/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalClient.swift
index be125b3e..81f50175 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalClient.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalClient.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Network
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalEngine.swift b/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalEngine.swift
index 393a0393..dd385129 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalEngine.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalEngine.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalStartup.swift b/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalStartup.swift
index 211badea..7defb7ed 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalStartup.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/ResumableTerminalStartup.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SFTPChannel.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SFTPChannel.swift
index 01bdae1d..63dbbe07 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SFTPChannel.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SFTPChannel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import CSSH2
import CryptoKit
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SFTPClient.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SFTPClient.swift
index 59f675c6..632a9947 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SFTPClient.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SFTPClient.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentChannels.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentChannels.swift
index 3687617e..4f15b195 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentChannels.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentChannels.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentKeySigner.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentKeySigner.swift
index 07abfea9..403ab75c 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentKeySigner.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentKeySigner.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import CryptoKit
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentProtocol.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentProtocol.swift
index 786fd00c..be12ff1e 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentProtocol.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHAgentProtocol.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHAuthenticatedConnection.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHAuthenticatedConnection.swift
index 3cef23ca..c547b1b0 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHAuthenticatedConnection.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHAuthenticatedConnection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHChannelSchedulingMode.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHChannelSchedulingMode.swift
index cc27ca40..cff5d82a 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHChannelSchedulingMode.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHChannelSchedulingMode.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// How a feature maps admitted work onto authenticated SSH connections.
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnection.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnection.swift
index 655a5ed0..1ab99945 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnection.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Logging
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionBuffer.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionBuffer.swift
index 58af9d38..dd27e8ab 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionBuffer.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionBuffer.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionOpener.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionOpener.swift
index 6580b06e..ebfbf3da 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionOpener.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionOpener.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Logging
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionWorker.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionWorker.swift
index 48f2226b..d39da64a 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionWorker.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHConnectionWorker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHExclusiveConnectionAdapter.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHExclusiveConnectionAdapter.swift
index ea84fbdb..715aa76f 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHExclusiveConnectionAdapter.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHExclusiveConnectionAdapter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Lifecycle and admission adapter for features that deliberately own one SSH
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHExecSession.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHExecSession.swift
index 85b1b293..19188a09 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHExecSession.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHExecSession.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingBenchmarkAccess.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingBenchmarkAccess.swift
index f982a81f..83d98af4 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingBenchmarkAccess.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingBenchmarkAccess.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
@_spi(PortForwardingBenchmark)
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnection.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnection.swift
index 752a07c3..11991b5e 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnection.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnectionPool.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnectionPool.swift
index b05881e6..1c240f38 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnectionPool.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnectionPool.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import Logging
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnector.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnector.swift
index ec4128f9..f744ca3a 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnector.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHForwardingConnector.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyExportSession.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyExportSession.swift
index bdaf944d..96d9db7b 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyExportSession.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyExportSession.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyMaterial+Import.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyMaterial+Import.swift
index c20ee7d9..467372e0 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyMaterial+Import.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyMaterial+Import.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import OpenSSL
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyMaterial.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyMaterial.swift
index b76c9764..e66ea46e 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyMaterial.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyMaterial.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Foundation
import OpenSSL
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyboardInteractiveExchange.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyboardInteractiveExchange.swift
index c0e566f4..452a7898 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyboardInteractiveExchange.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHKeyboardInteractiveExchange.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHMaxSessionsPolicy.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHMaxSessionsPolicy.swift
index be5816a1..93b105ab 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHMaxSessionsPolicy.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHMaxSessionsPolicy.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHMetricsSampler.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHMetricsSampler.swift
index ba1311e6..aef4f321 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHMetricsSampler.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHMetricsSampler.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Logging
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHMultiplexedExecChannelOwner.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHMultiplexedExecChannelOwner.swift
index 2e568602..e112eea1 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHMultiplexedExecChannelOwner.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHMultiplexedExecChannelOwner.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHMultiplexedSFTPChannelOwner.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHMultiplexedSFTPChannelOwner.swift
index 894d7e15..328c584c 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHMultiplexedSFTPChannelOwner.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHMultiplexedSFTPChannelOwner.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYActivationState.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYActivationState.swift
index 0930c132..4c17cf86 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYActivationState.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYActivationState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Queue-confined activation intent. Runtime polling must not repeatedly claim the window.
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYChannel.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYChannel.swift
index d8823c6a..18b3f149 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYChannel.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYChannel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYResizeState.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYResizeState.swift
index 8de2b8b0..1eee0730 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYResizeState.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYResizeState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated struct SSHPTYSize: Equatable, Sendable {
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYStartupSizing.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYStartupSizing.swift
index 827e2017..14393f06 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYStartupSizing.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHPTYStartupSizing.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
/// Queue-confined startup sizing. A PTY request and a process request each retain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHRoutedSocket.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHRoutedSocket.swift
index 4f11d9ed..20993d6f 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHRoutedSocket.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHRoutedSocket.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHRuntimeVersions.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHRuntimeVersions.swift
index 51ab9ffa..4aed21ea 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHRuntimeVersions.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHRuntimeVersions.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import OpenSSL
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHSocketConnector.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHSocketConnector.swift
index 8a1df000..cdef76c5 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHSocketConnector.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHSocketConnector.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHStreamPump.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHStreamPump.swift
index e8190f8e..67f2a656 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHStreamPump.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHStreamPump.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHTailscaleAuthentication.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHTailscaleAuthentication.swift
index 2bf214df..949e87dc 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHTailscaleAuthentication.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHTailscaleAuthentication.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SSHWireEncoding.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SSHWireEncoding.swift
index 036b0823..e1b75afb 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SSHWireEncoding.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SSHWireEncoding.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/SecurityKeySigner.swift b/Frameworks/TermindRemoteInfrastructure/SSH/SecurityKeySigner.swift
index d3d08c9e..060c621f 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/SecurityKeySigner.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/SecurityKeySigner.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/TerminalRouteReporter.swift b/Frameworks/TermindRemoteInfrastructure/SSH/TerminalRouteReporter.swift
index 8700a0d0..bfe98682 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/TerminalRouteReporter.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/TerminalRouteReporter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/TerminalTCPBridge.swift b/Frameworks/TermindRemoteInfrastructure/SSH/TerminalTCPBridge.swift
index e8a20c0c..52299a20 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/TerminalTCPBridge.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/TerminalTCPBridge.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/TerminalTransportRoute.swift b/Frameworks/TermindRemoteInfrastructure/SSH/TerminalTransportRoute.swift
index 9d22fc87..c9c240f8 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/TerminalTransportRoute.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/TerminalTransportRoute.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSH/VaultSSHAgent.swift b/Frameworks/TermindRemoteInfrastructure/SSH/VaultSSHAgent.swift
index e24d87d9..9da3af0b 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSH/VaultSSHAgent.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSH/VaultSSHAgent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/SSHImport/SSHImportReader.swift b/Frameworks/TermindRemoteInfrastructure/SSHImport/SSHImportReader.swift
index 113b14a4..afe9219a 100644
--- a/Frameworks/TermindRemoteInfrastructure/SSHImport/SSHImportReader.swift
+++ b/Frameworks/TermindRemoteInfrastructure/SSHImport/SSHImportReader.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Security/KeychainSecretStore.swift b/Frameworks/TermindRemoteInfrastructure/Security/KeychainSecretStore.swift
index 6dd174f0..ebfdbca7 100644
--- a/Frameworks/TermindRemoteInfrastructure/Security/KeychainSecretStore.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Security/KeychainSecretStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Security
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Security/MCPKeychainCredentialStore.swift b/Frameworks/TermindRemoteInfrastructure/Security/MCPKeychainCredentialStore.swift
index 7ce2cc7a..e8ea4359 100644
--- a/Frameworks/TermindRemoteInfrastructure/Security/MCPKeychainCredentialStore.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Security/MCPKeychainCredentialStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Security
diff --git a/Frameworks/TermindRemoteInfrastructure/Security/SecureEnclaveKey.swift b/Frameworks/TermindRemoteInfrastructure/Security/SecureEnclaveKey.swift
index affd42a5..c5bdefc5 100644
--- a/Frameworks/TermindRemoteInfrastructure/Security/SecureEnclaveKey.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Security/SecureEnclaveKey.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import LocalAuthentication
diff --git a/Frameworks/TermindRemoteInfrastructure/Security/SoftwareKeyFileImporter.swift b/Frameworks/TermindRemoteInfrastructure/Security/SoftwareKeyFileImporter.swift
index 6a77b430..d4ddbc84 100644
--- a/Frameworks/TermindRemoteInfrastructure/Security/SoftwareKeyFileImporter.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Security/SoftwareKeyFileImporter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
public nonisolated struct SoftwareKeyFileImportResult: Equatable, Sendable {
diff --git a/Frameworks/TermindRemoteInfrastructure/Security/TerminalRecoveryStore.swift b/Frameworks/TermindRemoteInfrastructure/Security/TerminalRecoveryStore.swift
index 0edab74e..0a38d711 100644
--- a/Frameworks/TermindRemoteInfrastructure/Security/TerminalRecoveryStore.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Security/TerminalRecoveryStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import Security
diff --git a/Frameworks/TermindRemoteInfrastructure/Security/WebAuthnSSH.swift b/Frameworks/TermindRemoteInfrastructure/Security/WebAuthnSSH.swift
index d412bca7..ba8cb702 100644
--- a/Frameworks/TermindRemoteInfrastructure/Security/WebAuthnSSH.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Security/WebAuthnSSH.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Tailscale/LibTailscaleNodeSession.swift b/Frameworks/TermindRemoteInfrastructure/Tailscale/LibTailscaleNodeSession.swift
index d7dc9f5c..cf9f715e 100644
--- a/Frameworks/TermindRemoteInfrastructure/Tailscale/LibTailscaleNodeSession.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Tailscale/LibTailscaleNodeSession.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TailscaleKit
diff --git a/Frameworks/TermindRemoteInfrastructure/Telnet/TelnetConnection.swift b/Frameworks/TermindRemoteInfrastructure/Telnet/TelnetConnection.swift
index ff787c9a..ece12541 100644
--- a/Frameworks/TermindRemoteInfrastructure/Telnet/TelnetConnection.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Telnet/TelnetConnection.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
@preconcurrency import Network
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPConcurrencyScheduler.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPConcurrencyScheduler.swift
index 61f95bd6..30e9ec87 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPConcurrencyScheduler.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPConcurrencyScheduler.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPDownloadStream.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPDownloadStream.swift
index f68a3df9..1c1f794c 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPDownloadStream.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPDownloadStream.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// A checked regular-file handle. EOF proves the declared size and available
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditFileObservation.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditFileObservation.swift
index 960c8793..f6e45bd9 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditFileObservation.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditFileObservation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditLocalFiles.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditLocalFiles.swift
index 525e1f01..dad7ac01 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditLocalFiles.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditLocalFiles.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditService.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditService.swift
index 25d79bca..4165f99f 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditService.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPEditService.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPLocalUploadPlanner.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPLocalUploadPlanner.swift
index f2fef35c..c6f5f669 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPLocalUploadPlanner.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPLocalUploadPlanner.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteConflictResolver.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteConflictResolver.swift
index f7636ea7..403305dc 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteConflictResolver.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteConflictResolver.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteCopyOperation.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteCopyOperation.swift
index 75b4c877..84c716c9 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteCopyOperation.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteCopyOperation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteCopySourceError.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteCopySourceError.swift
index c5195230..80607870 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteCopySourceError.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteCopySourceError.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated struct SFTPRemoteCopySourceError: LocalizedError {
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteTransferPlanner.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteTransferPlanner.swift
index a1aa52bf..37c46577 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteTransferPlanner.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRemoteTransferPlanner.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRenameOperation.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRenameOperation.swift
index 59e8bf03..764b4bf2 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRenameOperation.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPRenameOperation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
nonisolated enum SFTPRenameOperation {
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPResumeState.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPResumeState.swift
index 2a8629fc..2478acf7 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPResumeState.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPResumeState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPStreamUploadOperation.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPStreamUploadOperation.swift
index 431358c8..e0e64784 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPStreamUploadOperation.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPStreamUploadOperation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Darwin
import Foundation
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPTransferContext.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPTransferContext.swift
index ed289590..aa385891 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPTransferContext.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPTransferContext.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPTransferCoordinator.swift b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPTransferCoordinator.swift
index c1d180ec..80b514a6 100644
--- a/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPTransferCoordinator.swift
+++ b/Frameworks/TermindRemoteInfrastructure/Transfers/SFTPTransferCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/Gemfile b/Gemfile
index d391c964..81243910 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
source "https://rubygems.org"
ruby ">= 3.3", "< 4.0"
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..f6cdd22a
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,232 @@
+GNU GENERAL PUBLIC LICENSE
+Version 3, 29 June 2007
+
+Copyright © 2007 Free Software Foundation, Inc.
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The GNU General Public License is a free, copyleft license for software and other kinds of works.
+
+The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
+
+To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
+
+Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
+
+Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS
+
+0. Definitions.
+
+“This License” refers to version 3 of the GNU General Public License.
+
+“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
+
+“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
+
+To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
+
+A “covered work” means either the unmodified Program or a work based on the Program.
+
+To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
+
+To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
+
+An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
+
+1. Source Code.
+The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
+
+A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
+
+The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
+
+The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same work.
+
+2. Basic Permissions.
+All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
+
+3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
+
+When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
+
+4. Conveying Verbatim Copies.
+You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
+
+5. Conveying Modified Source Versions.
+You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
+
+ c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
+
+A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
+
+6. Conveying Non-Source Forms.
+You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+
+ d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
+
+A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
+
+“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
+
+The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
+
+Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
+
+7. Additional Terms.
+“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
+
+All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
+
+8. Termination.
+You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
+
+9. Acceptance Not Required for Having Copies.
+You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
+
+10. Automatic Licensing of Downstream Recipients.
+Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
+
+An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
+
+11. Patents.
+A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
+
+A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
+
+In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
+
+A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
+
+12. No Surrender of Others' Freedom.
+If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
+
+13. Use with the GNU Affero General Public License.
+Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
+
+14. Revised Versions of this License.
+The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
+
+Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
+
+15. Disclaimer of Warranty.
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. Limitation of Liability.
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+17. Interpretation of Sections 15 and 16.
+If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
+
+You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see .
+
+The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read .
diff --git a/Scripts/Tests/test_firebase_configuration.py b/Scripts/Tests/test_firebase_configuration.py
index 9f4390e0..2856d622 100644
--- a/Scripts/Tests/test_firebase_configuration.py
+++ b/Scripts/Tests/test_firebase_configuration.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
import os
from pathlib import Path
import plistlib
diff --git a/Scripts/benchmark-external-port-forwarding.py b/Scripts/benchmark-external-port-forwarding.py
index 2dcf4229..9b29e953 100755
--- a/Scripts/benchmark-external-port-forwarding.py
+++ b/Scripts/benchmark-external-port-forwarding.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Benchmark single-connection system SSH or a manually configured forwarder."""
from __future__ import annotations
diff --git a/Scripts/benchmark-port-forwarding.py b/Scripts/benchmark-port-forwarding.py
index a86c453c..f0f6440f 100755
--- a/Scripts/benchmark-port-forwarding.py
+++ b/Scripts/benchmark-port-forwarding.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Benchmark Termind forwarding pools with the standalone Release runner."""
from __future__ import annotations
diff --git a/Scripts/bump-version.py b/Scripts/bump-version.py
index 8c845d16..b8f5ec3d 100755
--- a/Scripts/bump-version.py
+++ b/Scripts/bump-version.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Bump Termind's marketing version and build numbers in the Xcode project."""
from __future__ import annotations
diff --git a/Scripts/check-localization.py b/Scripts/check-localization.py
index 7bb2d1e9..e31613e3 100644
--- a/Scripts/check-localization.py
+++ b/Scripts/check-localization.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Check all app translations, with language-specific plural and spacing rules."""
from __future__ import annotations
diff --git a/Scripts/check-mcp-bridge.py b/Scripts/check-mcp-bridge.py
index 614e72fc..8f61da46 100644
--- a/Scripts/check-mcp-bridge.py
+++ b/Scripts/check-mcp-bridge.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Exercise a built termind-mcp executable against a deterministic loopback server."""
import http.server
diff --git a/Scripts/configure-firebase.sh b/Scripts/configure-firebase.sh
index dae66e5f..f2934fd5 100644
--- a/Scripts/configure-firebase.sh
+++ b/Scripts/configure-firebase.sh
@@ -1,4 +1,7 @@
#!/bin/sh
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
set -eu
source_plist="${SRCROOT}/Configuration/Firebase/GoogleService-Info.plist"
diff --git a/Scripts/generate-bell.py b/Scripts/generate-bell.py
index c7389294..dd04ccb4 100644
--- a/Scripts/generate-bell.py
+++ b/Scripts/generate-bell.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Generate the original, short system-alert-style bell; no sampled audio is used."""
import argparse
diff --git a/Scripts/normalize-string-catalogs.py b/Scripts/normalize-string-catalogs.py
index 1c3c797f..13c4cd52 100755
--- a/Scripts/normalize-string-catalogs.py
+++ b/Scripts/normalize-string-catalogs.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Keep shared, manually maintained string catalogs stable in Xcode and Git.
Only extractionState and JSON serialization change. In particular, a stale entry
diff --git a/Scripts/port_forwarding_benchmark_common.py b/Scripts/port_forwarding_benchmark_common.py
index 73f6cbb1..07799199 100644
--- a/Scripts/port_forwarding_benchmark_common.py
+++ b/Scripts/port_forwarding_benchmark_common.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Shared workload and JSON helpers for port forwarding benchmarks."""
from __future__ import annotations
diff --git a/Scripts/run-screenshot-demo.sh b/Scripts/run-screenshot-demo.sh
index c865f0c8..08bdbc83 100755
--- a/Scripts/run-screenshot-demo.sh
+++ b/Scripts/run-screenshot-demo.sh
@@ -1,4 +1,6 @@
#!/bin/zsh
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
set -euo pipefail
diff --git a/Scripts/ssh-agent-forwarding-fixture.py b/Scripts/ssh-agent-forwarding-fixture.py
index b104cd3a..110beafa 100644
--- a/Scripts/ssh-agent-forwarding-fixture.py
+++ b/Scripts/ssh-agent-forwarding-fixture.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Ephemeral loopback OpenSSH fixture for SSHAgentForwardingWireTests.
Creates fresh keys, three unprivileged sshd instances (destination, second hop,
diff --git a/Scripts/ssh-authentication-fixture.py b/Scripts/ssh-authentication-fixture.py
index 9a699997..882a07ed 100644
--- a/Scripts/ssh-authentication-fixture.py
+++ b/Scripts/ssh-authentication-fixture.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Loopback-only SSH authentication fixture; never executes client commands.
Run with a temporary virtual environment containing paramiko==4.0.0:
diff --git a/Scripts/ssh-forwarding-openssh-fixture.py b/Scripts/ssh-forwarding-openssh-fixture.py
index c894e6d5..ecca54c2 100644
--- a/Scripts/ssh-forwarding-openssh-fixture.py
+++ b/Scripts/ssh-forwarding-openssh-fixture.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Temporary loopback-only OpenSSH forwarding fixture. Requires local sshd.
No system SSH configuration or authorized_keys files are changed. Only forwarding
diff --git a/Scripts/ssh-pty-lifecycle-fixture.py b/Scripts/ssh-pty-lifecycle-fixture.py
index 50dee804..04d0b987 100644
--- a/Scripts/ssh-pty-lifecycle-fixture.py
+++ b/Scripts/ssh-pty-lifecycle-fixture.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Local SSH fixture that withholds exec close acknowledgements.
Run with --metadata /tmp/pty-lifecycle.json and pass the path to tests as
diff --git a/Scripts/ssh-security-key-fixture.py b/Scripts/ssh-security-key-fixture.py
index 87b9b51c..9b97e0ae 100644
--- a/Scripts/ssh-security-key-fixture.py
+++ b/Scripts/ssh-security-key-fixture.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Disposable OpenSSH server with a software-simulated WebAuthn authenticator.
No hardware, user SSH configuration, or private keys are read. Pass --metadata
diff --git a/Scripts/ssh-tmux-session-fixture.py b/Scripts/ssh-tmux-session-fixture.py
index 51271b08..86323017 100644
--- a/Scripts/ssh-tmux-session-fixture.py
+++ b/Scripts/ssh-tmux-session-fixture.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Isolated Lima/OpenSSH fixture for remote persistence and terminal context tests.
Requires a running Lima VM with nerdctl. Creates a disposable Debian container,
diff --git a/Scripts/swiftdata-repository-declarations.sh b/Scripts/swiftdata-repository-declarations.sh
index e3b1a809..8824937b 100755
--- a/Scripts/swiftdata-repository-declarations.sh
+++ b/Scripts/swiftdata-repository-declarations.sh
@@ -1,4 +1,7 @@
#!/bin/bash
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
set -euo pipefail
script_dir=$(cd "$(dirname "$0")" && pwd)
diff --git a/Scripts/swiftdata-repository-declarations.swift b/Scripts/swiftdata-repository-declarations.swift
index 46a4f77d..11db7981 100644
--- a/Scripts/swiftdata-repository-declarations.swift
+++ b/Scripts/swiftdata-repository-declarations.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftParser
import SwiftSyntax
diff --git a/Scripts/telnet-auth-fixture.py b/Scripts/telnet-auth-fixture.py
index 8585da1e..9507d238 100644
--- a/Scripts/telnet-auth-fixture.py
+++ b/Scripts/telnet-auth-fixture.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Small authenticated Telnet fixture for manual Termind testing."""
from __future__ import annotations
diff --git a/Scripts/update-host-icons.py b/Scripts/update-host-icons.py
index af64177d..bbe6a0c0 100644
--- a/Scripts/update-host-icons.py
+++ b/Scripts/update-host-icons.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
"""Regenerate bundled host SVGs from explicit npm releases, never moving tags."""
import argparse
diff --git a/Scripts/update-pi-model-catalog.sh b/Scripts/update-pi-model-catalog.sh
index 78509c0f..26e47c5a 100755
--- a/Scripts/update-pi-model-catalog.sh
+++ b/Scripts/update-pi-model-catalog.sh
@@ -1,4 +1,7 @@
#!/bin/sh
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
set -eu
# Regenerates Termind's compact model-capability snapshot from one pinned Pi
diff --git a/TFI/App/MobileAppDependencies.swift b/TFI/App/MobileAppDependencies.swift
index 476c1757..e292a61c 100644
--- a/TFI/App/MobileAppDependencies.swift
+++ b/TFI/App/MobileAppDependencies.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/TFI/App/MobileAppModel+LocalNetwork.swift b/TFI/App/MobileAppModel+LocalNetwork.swift
index 8a53a645..3a6e90e1 100644
--- a/TFI/App/MobileAppModel+LocalNetwork.swift
+++ b/TFI/App/MobileAppModel+LocalNetwork.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFI/App/MobileAppModel.swift b/TFI/App/MobileAppModel.swift
index c61f94f6..b1f08e87 100644
--- a/TFI/App/MobileAppModel.swift
+++ b/TFI/App/MobileAppModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import DeviceKit
import Foundation
import Observation
diff --git a/TFI/App/MobileCommands.swift b/TFI/App/MobileCommands.swift
index 97e84aff..779e7fed 100644
--- a/TFI/App/MobileCommands.swift
+++ b/TFI/App/MobileCommands.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/App/MobileFeatureRegistry.swift b/TFI/App/MobileFeatureRegistry.swift
index 0a877925..84d42bc5 100644
--- a/TFI/App/MobileFeatureRegistry.swift
+++ b/TFI/App/MobileFeatureRegistry.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFI/App/MobileLanguagePreferenceMigration.swift b/TFI/App/MobileLanguagePreferenceMigration.swift
index dcd4c75b..2a742859 100644
--- a/TFI/App/MobileLanguagePreferenceMigration.swift
+++ b/TFI/App/MobileLanguagePreferenceMigration.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/TFI/App/MobileRecentlyClosedWorkspaces.swift b/TFI/App/MobileRecentlyClosedWorkspaces.swift
index 8c5b5b76..50c2bbfa 100644
--- a/TFI/App/MobileRecentlyClosedWorkspaces.swift
+++ b/TFI/App/MobileRecentlyClosedWorkspaces.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindPresentation
diff --git a/TFI/App/MobileRootView.swift b/TFI/App/MobileRootView.swift
index 6b57096e..ceae7471 100644
--- a/TFI/App/MobileRootView.swift
+++ b/TFI/App/MobileRootView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFI/App/MobileRuntimeVersions.swift b/TFI/App/MobileRuntimeVersions.swift
index aca26639..1fb6ba77 100644
--- a/TFI/App/MobileRuntimeVersions.swift
+++ b/TFI/App/MobileRuntimeVersions.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyKit
import TermindRemoteInfrastructure
diff --git a/TFI/App/MobileSceneModel.swift b/TFI/App/MobileSceneModel.swift
index a43f32da..24160f0e 100644
--- a/TFI/App/MobileSceneModel.swift
+++ b/TFI/App/MobileSceneModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import SwiftUI
diff --git a/TFI/App/MobileStartupView.swift b/TFI/App/MobileStartupView.swift
index 51c0e114..2e886864 100644
--- a/TFI/App/MobileStartupView.swift
+++ b/TFI/App/MobileStartupView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftData
import SwiftUI
import TermindPresentation
diff --git a/TFI/App/MobileWorkspaceNumberShortcuts.swift b/TFI/App/MobileWorkspaceNumberShortcuts.swift
index 6c07ac95..39dd19bc 100644
--- a/TFI/App/MobileWorkspaceNumberShortcuts.swift
+++ b/TFI/App/MobileWorkspaceNumberShortcuts.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFI/App/MobileWorkspaceSessionModel.swift b/TFI/App/MobileWorkspaceSessionModel.swift
index 501ed62c..07fa4412 100644
--- a/TFI/App/MobileWorkspaceSessionModel.swift
+++ b/TFI/App/MobileWorkspaceSessionModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindApplication
diff --git a/TFI/App/TermindIOSApp.swift b/TFI/App/TermindIOSApp.swift
index 418b4882..2e6052d2 100644
--- a/TFI/App/TermindIOSApp.swift
+++ b/TFI/App/TermindIOSApp.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/TFI/App/WindowCloseShortcuts.swift b/TFI/App/WindowCloseShortcuts.swift
index ca892e59..f9df8eea 100644
--- a/TFI/App/WindowCloseShortcuts.swift
+++ b/TFI/App/WindowCloseShortcuts.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// The primary close key follows the visible workspace on both platforms.
diff --git a/TFI/Application/Agent/MobileAssistantModel.swift b/TFI/Application/Agent/MobileAssistantModel.swift
index 987fcca5..43890953 100644
--- a/TFI/Application/Agent/MobileAssistantModel.swift
+++ b/TFI/Application/Agent/MobileAssistantModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Logging
diff --git a/TFI/Application/Connections/MobileWorkspaceConnectionServices.swift b/TFI/Application/Connections/MobileWorkspaceConnectionServices.swift
index 63647f1f..a01f9265 100644
--- a/TFI/Application/Connections/MobileWorkspaceConnectionServices.swift
+++ b/TFI/Application/Connections/MobileWorkspaceConnectionServices.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFI/Application/FeatureModels/MobileConnectionProtocol.swift b/TFI/Application/FeatureModels/MobileConnectionProtocol.swift
index 6eea11bd..7dd9f3cf 100644
--- a/TFI/Application/FeatureModels/MobileConnectionProtocol.swift
+++ b/TFI/Application/FeatureModels/MobileConnectionProtocol.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import TermindDomain
diff --git a/TFI/Application/FeatureModels/MobileHostPickerModel.swift b/TFI/Application/FeatureModels/MobileHostPickerModel.swift
index 67acc2af..afca6a30 100644
--- a/TFI/Application/FeatureModels/MobileHostPickerModel.swift
+++ b/TFI/Application/FeatureModels/MobileHostPickerModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Observation
import TermindApplication
import TermindDomain
diff --git a/TFI/Application/FeatureModels/MobileKeyEditorModel.swift b/TFI/Application/FeatureModels/MobileKeyEditorModel.swift
index 51b0cb5c..ca9a14aa 100644
--- a/TFI/Application/FeatureModels/MobileKeyEditorModel.swift
+++ b/TFI/Application/FeatureModels/MobileKeyEditorModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindApplication
diff --git a/TFI/Application/FeatureModels/MobileMCPEditorModel.swift b/TFI/Application/FeatureModels/MobileMCPEditorModel.swift
index 29cb0896..63396181 100644
--- a/TFI/Application/FeatureModels/MobileMCPEditorModel.swift
+++ b/TFI/Application/FeatureModels/MobileMCPEditorModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Observation
diff --git a/TFI/Application/FeatureModels/MobileModelDiscovery.swift b/TFI/Application/FeatureModels/MobileModelDiscovery.swift
index 2816d3e9..3c90b45e 100644
--- a/TFI/Application/FeatureModels/MobileModelDiscovery.swift
+++ b/TFI/Application/FeatureModels/MobileModelDiscovery.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Observation
diff --git a/TFI/Application/FeatureModels/MobileModelTests.swift b/TFI/Application/FeatureModels/MobileModelTests.swift
index 64909b65..c482b4b1 100644
--- a/TFI/Application/FeatureModels/MobileModelTests.swift
+++ b/TFI/Application/FeatureModels/MobileModelTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Observation
diff --git a/TFI/Application/FeatureModels/MobileMultiHostPickerModel.swift b/TFI/Application/FeatureModels/MobileMultiHostPickerModel.swift
index 96a13e3b..83ee64cf 100644
--- a/TFI/Application/FeatureModels/MobileMultiHostPickerModel.swift
+++ b/TFI/Application/FeatureModels/MobileMultiHostPickerModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Observation
import TermindApplication
import TermindDomain
diff --git a/TFI/Application/FeatureModels/MobileProviderEditorModel.swift b/TFI/Application/FeatureModels/MobileProviderEditorModel.swift
index 4ad4db06..26348300 100644
--- a/TFI/Application/FeatureModels/MobileProviderEditorModel.swift
+++ b/TFI/Application/FeatureModels/MobileProviderEditorModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Observation
diff --git a/TFI/Application/FeatureModels/MobileSecretDraft.swift b/TFI/Application/FeatureModels/MobileSecretDraft.swift
index 6b212053..087db0b7 100644
--- a/TFI/Application/FeatureModels/MobileSecretDraft.swift
+++ b/TFI/Application/FeatureModels/MobileSecretDraft.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindApplication
diff --git a/TFI/Application/FeatureModels/MobileSkillEditorModel.swift b/TFI/Application/FeatureModels/MobileSkillEditorModel.swift
index c14a8f7c..ff2b95b1 100644
--- a/TFI/Application/FeatureModels/MobileSkillEditorModel.swift
+++ b/TFI/Application/FeatureModels/MobileSkillEditorModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Observation
diff --git a/TFI/Application/FeatureModels/MobileSnippetOperations.swift b/TFI/Application/FeatureModels/MobileSnippetOperations.swift
index 75b4b03c..bbc8c61e 100644
--- a/TFI/Application/FeatureModels/MobileSnippetOperations.swift
+++ b/TFI/Application/FeatureModels/MobileSnippetOperations.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
import struct TermindDomain.Host
diff --git a/TFI/Application/Metrics/MobileMetricsModel.swift b/TFI/Application/Metrics/MobileMetricsModel.swift
index 87a7295c..2a3d515f 100644
--- a/TFI/Application/Metrics/MobileMetricsModel.swift
+++ b/TFI/Application/Metrics/MobileMetricsModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindApplication
diff --git a/TFI/Application/Metrics/MobileMetricsServices.swift b/TFI/Application/Metrics/MobileMetricsServices.swift
index 45c2fd18..4b0936bf 100644
--- a/TFI/Application/Metrics/MobileMetricsServices.swift
+++ b/TFI/Application/Metrics/MobileMetricsServices.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
struct MobileMetricsServices {
diff --git a/TFI/Application/MobileConnectionSuccessFeedback.swift b/TFI/Application/MobileConnectionSuccessFeedback.swift
index a1c5c2d8..c28eb8f3 100644
--- a/TFI/Application/MobileConnectionSuccessFeedback.swift
+++ b/TFI/Application/MobileConnectionSuccessFeedback.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/TFI/Application/MobileScreenAwakeController.swift b/TFI/Application/MobileScreenAwakeController.swift
index f8becb6d..e20f137d 100644
--- a/TFI/Application/MobileScreenAwakeController.swift
+++ b/TFI/Application/MobileScreenAwakeController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/TFI/Application/Transfers/MobileSFTPChannelModel.swift b/TFI/Application/Transfers/MobileSFTPChannelModel.swift
index 736ea929..ab31ea18 100644
--- a/TFI/Application/Transfers/MobileSFTPChannelModel.swift
+++ b/TFI/Application/Transfers/MobileSFTPChannelModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Observation
import TermindApplication
diff --git a/TFI/Application/Workspaces/MobileConnectionHistory.swift b/TFI/Application/Workspaces/MobileConnectionHistory.swift
index 773f76a1..114d8033 100644
--- a/TFI/Application/Workspaces/MobileConnectionHistory.swift
+++ b/TFI/Application/Workspaces/MobileConnectionHistory.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import TermindDomain
diff --git a/TFI/Application/Workspaces/MobileWorkspaceDescriptor.swift b/TFI/Application/Workspaces/MobileWorkspaceDescriptor.swift
index 6ee44500..10242a97 100644
--- a/TFI/Application/Workspaces/MobileWorkspaceDescriptor.swift
+++ b/TFI/Application/Workspaces/MobileWorkspaceDescriptor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/TFI/Design/MobileDesignTokens.swift b/TFI/Design/MobileDesignTokens.swift
index d5537120..54cddf0f 100644
--- a/TFI/Design/MobileDesignTokens.swift
+++ b/TFI/Design/MobileDesignTokens.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CoreGraphics
/// Mobile layout values shared by managed collection surfaces.
diff --git a/TFI/Design/MobileTagField.swift b/TFI/Design/MobileTagField.swift
index dd47ed77..00287646 100644
--- a/TFI/Design/MobileTagField.swift
+++ b/TFI/Design/MobileTagField.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFI/DesignSystem/MobileConnectionFeedbackEnvironment.swift b/TFI/DesignSystem/MobileConnectionFeedbackEnvironment.swift
index d3bcdd15..aa13f8e4 100644
--- a/TFI/DesignSystem/MobileConnectionFeedbackEnvironment.swift
+++ b/TFI/DesignSystem/MobileConnectionFeedbackEnvironment.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
struct MobileConnectionFeedbackContext {
diff --git a/TFI/DesignSystem/MobileContentRegions.swift b/TFI/DesignSystem/MobileContentRegions.swift
index d80fbe52..523ff61e 100644
--- a/TFI/DesignSystem/MobileContentRegions.swift
+++ b/TFI/DesignSystem/MobileContentRegions.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// Frames use SwiftUI's leading-origin coordinates. ReservedRegion.frame already includes its margins.
diff --git a/TFI/DesignSystem/MobileLayoutEnvironment.swift b/TFI/DesignSystem/MobileLayoutEnvironment.swift
index 5688a245..c1cbfdbd 100644
--- a/TFI/DesignSystem/MobileLayoutEnvironment.swift
+++ b/TFI/DesignSystem/MobileLayoutEnvironment.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
nonisolated enum MobileLayout: Sendable {
diff --git a/TFI/DesignSystem/MobileToolbarEnvironment.swift b/TFI/DesignSystem/MobileToolbarEnvironment.swift
index 7a332fa1..b4045233 100644
--- a/TFI/DesignSystem/MobileToolbarEnvironment.swift
+++ b/TFI/DesignSystem/MobileToolbarEnvironment.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
struct MobileToolbarLayout: Equatable {
diff --git a/TFI/Features/AI/MobileAssistantComposer.swift b/TFI/Features/AI/MobileAssistantComposer.swift
index 92a9ec04..c139beac 100644
--- a/TFI/Features/AI/MobileAssistantComposer.swift
+++ b/TFI/Features/AI/MobileAssistantComposer.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AVFoundation
import AgentKit
import PhotosUI
diff --git a/TFI/Features/AI/MobileAssistantConversation.swift b/TFI/Features/AI/MobileAssistantConversation.swift
index b87f9036..d366a70d 100644
--- a/TFI/Features/AI/MobileAssistantConversation.swift
+++ b/TFI/Features/AI/MobileAssistantConversation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import QuickLook
import SwiftUI
diff --git a/TFI/Features/AI/MobileAssistantInteraction.swift b/TFI/Features/AI/MobileAssistantInteraction.swift
index 0a75de75..caf16353 100644
--- a/TFI/Features/AI/MobileAssistantInteraction.swift
+++ b/TFI/Features/AI/MobileAssistantInteraction.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFI/Features/AI/MobileAssistantTranscriptCards.swift b/TFI/Features/AI/MobileAssistantTranscriptCards.swift
index 7eb01bd8..c9a991b4 100644
--- a/TFI/Features/AI/MobileAssistantTranscriptCards.swift
+++ b/TFI/Features/AI/MobileAssistantTranscriptCards.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import MarkdownView
import SwiftUI
diff --git a/TFI/Features/AI/MobileAssistantTranscriptStyle.swift b/TFI/Features/AI/MobileAssistantTranscriptStyle.swift
index 2fd4458e..c23f032b 100644
--- a/TFI/Features/AI/MobileAssistantTranscriptStyle.swift
+++ b/TFI/Features/AI/MobileAssistantTranscriptStyle.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import MarkdownView
import SwiftUI
import TermindPresentation
diff --git a/TFI/Features/AI/MobileAssistantWorkRow.swift b/TFI/Features/AI/MobileAssistantWorkRow.swift
index c896d54a..59753878 100644
--- a/TFI/Features/AI/MobileAssistantWorkRow.swift
+++ b/TFI/Features/AI/MobileAssistantWorkRow.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFI/Features/AI/MobileSlashCommandPanel.swift b/TFI/Features/AI/MobileSlashCommandPanel.swift
index 62787871..cb4a18ad 100644
--- a/TFI/Features/AI/MobileSlashCommandPanel.swift
+++ b/TFI/Features/AI/MobileSlashCommandPanel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFI/Features/Assistant/MobileAssistantView.swift b/TFI/Features/Assistant/MobileAssistantView.swift
index 2db221e4..54d9db20 100644
--- a/TFI/Features/Assistant/MobileAssistantView.swift
+++ b/TFI/Features/Assistant/MobileAssistantView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFI/Features/Commerce/MobileProView.swift b/TFI/Features/Commerce/MobileProView.swift
index a2b2ae64..62d96e81 100644
--- a/TFI/Features/Commerce/MobileProView.swift
+++ b/TFI/Features/Commerce/MobileProView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import RevenueCatUI
import SwiftUI
import TermindDomain
diff --git a/TFI/Features/HostChooser/MobileBatchStartupPicker.swift b/TFI/Features/HostChooser/MobileBatchStartupPicker.swift
index d9341cee..9de8e230 100644
--- a/TFI/Features/HostChooser/MobileBatchStartupPicker.swift
+++ b/TFI/Features/HostChooser/MobileBatchStartupPicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/HostChooser/MobileConnectionPicker.swift b/TFI/Features/HostChooser/MobileConnectionPicker.swift
index 29a6ea0e..8a6e2302 100644
--- a/TFI/Features/HostChooser/MobileConnectionPicker.swift
+++ b/TFI/Features/HostChooser/MobileConnectionPicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/HostChooser/MobileMultiHostPicker.swift b/TFI/Features/HostChooser/MobileMultiHostPicker.swift
index 0e8d860c..db0b5c26 100644
--- a/TFI/Features/HostChooser/MobileMultiHostPicker.swift
+++ b/TFI/Features/HostChooser/MobileMultiHostPicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/HostChooser/MobileMultiHostPickerInteraction.swift b/TFI/Features/HostChooser/MobileMultiHostPickerInteraction.swift
index 413b9f17..dc682a49 100644
--- a/TFI/Features/HostChooser/MobileMultiHostPickerInteraction.swift
+++ b/TFI/Features/HostChooser/MobileMultiHostPickerInteraction.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
/// Optional interaction overrides for workflows that keep the picker mounted
/// after confirmation. Existing callers keep synchronous save-and-dismiss behavior.
struct MobileMultiHostPickerInteraction {
diff --git a/TFI/Features/HostEditor/MobileHostEditor.swift b/TFI/Features/HostEditor/MobileHostEditor.swift
index 84516096..18362287 100644
--- a/TFI/Features/HostEditor/MobileHostEditor.swift
+++ b/TFI/Features/HostEditor/MobileHostEditor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/HostEditor/MobileHostMACAddressView.swift b/TFI/Features/HostEditor/MobileHostMACAddressView.swift
index c5cc26e3..ee2802e3 100644
--- a/TFI/Features/HostEditor/MobileHostMACAddressView.swift
+++ b/TFI/Features/HostEditor/MobileHostMACAddressView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFI/Features/HostEditor/MobileLocalDiscoveryView.swift b/TFI/Features/HostEditor/MobileLocalDiscoveryView.swift
index 04b7d6bc..2f893ddc 100644
--- a/TFI/Features/HostEditor/MobileLocalDiscoveryView.swift
+++ b/TFI/Features/HostEditor/MobileLocalDiscoveryView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Keychain/MobileCredentialsView.swift b/TFI/Features/Keychain/MobileCredentialsView.swift
index 902f6425..ffd32b0a 100644
--- a/TFI/Features/Keychain/MobileCredentialsView.swift
+++ b/TFI/Features/Keychain/MobileCredentialsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Keychain/MobileKeyEditor.swift b/TFI/Features/Keychain/MobileKeyEditor.swift
index 0eda7336..93a548d4 100644
--- a/TFI/Features/Keychain/MobileKeyEditor.swift
+++ b/TFI/Features/Keychain/MobileKeyEditor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/Features/Keychain/MobileKeyExportDetailView.swift b/TFI/Features/Keychain/MobileKeyExportDetailView.swift
index 2c728cbe..05e227cf 100644
--- a/TFI/Features/Keychain/MobileKeyExportDetailView.swift
+++ b/TFI/Features/Keychain/MobileKeyExportDetailView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFI/Features/Keychain/SecurityKeyEditor.swift b/TFI/Features/Keychain/SecurityKeyEditor.swift
index 7abcac5d..07704599 100644
--- a/TFI/Features/Keychain/SecurityKeyEditor.swift
+++ b/TFI/Features/Keychain/SecurityKeyEditor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/KnownHosts/MobileKnownHostsView.swift b/TFI/Features/KnownHosts/MobileKnownHostsView.swift
index cbee85c9..54c4afd7 100644
--- a/TFI/Features/KnownHosts/MobileKnownHostsView.swift
+++ b/TFI/Features/KnownHosts/MobileKnownHostsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/Features/Metrics/MobileMetricsView.swift b/TFI/Features/Metrics/MobileMetricsView.swift
index cd87b9a6..5f478e4f 100644
--- a/TFI/Features/Metrics/MobileMetricsView.swift
+++ b/TFI/Features/Metrics/MobileMetricsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Ports/MobileForwardingEditor.swift b/TFI/Features/Ports/MobileForwardingEditor.swift
index b7dad680..550cb86e 100644
--- a/TFI/Features/Ports/MobileForwardingEditor.swift
+++ b/TFI/Features/Ports/MobileForwardingEditor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Ports/MobileForwardingView.swift b/TFI/Features/Ports/MobileForwardingView.swift
index 89bc5a4e..49b9bcd2 100644
--- a/TFI/Features/Ports/MobileForwardingView.swift
+++ b/TFI/Features/Ports/MobileForwardingView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/SFTP/MobileRemoteFileEditor.swift b/TFI/Features/SFTP/MobileRemoteFileEditor.swift
index b6ef710e..5fcf0604 100644
--- a/TFI/Features/SFTP/MobileRemoteFileEditor.swift
+++ b/TFI/Features/SFTP/MobileRemoteFileEditor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/Features/SFTP/MobileSFTPBrowser.swift b/TFI/Features/SFTP/MobileSFTPBrowser.swift
index 4abc3b23..1441b059 100644
--- a/TFI/Features/SFTP/MobileSFTPBrowser.swift
+++ b/TFI/Features/SFTP/MobileSFTPBrowser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/Features/SFTP/MobileSFTPEditPreview.swift b/TFI/Features/SFTP/MobileSFTPEditPreview.swift
index 91398d9f..c6e77b09 100644
--- a/TFI/Features/SFTP/MobileSFTPEditPreview.swift
+++ b/TFI/Features/SFTP/MobileSFTPEditPreview.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import QuickLook
import SwiftUI
import UniformTypeIdentifiers
diff --git a/TFI/Features/SFTP/MobileSFTPHistoryView.swift b/TFI/Features/SFTP/MobileSFTPHistoryView.swift
index daff5926..136a84cc 100644
--- a/TFI/Features/SFTP/MobileSFTPHistoryView.swift
+++ b/TFI/Features/SFTP/MobileSFTPHistoryView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/Features/SFTP/MobileSFTPPreviewState.swift b/TFI/Features/SFTP/MobileSFTPPreviewState.swift
index 73b0e13d..5f4157d0 100644
--- a/TFI/Features/SFTP/MobileSFTPPreviewState.swift
+++ b/TFI/Features/SFTP/MobileSFTPPreviewState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Export follows the preview's dismissal; it must never compete with the
diff --git a/TFI/Features/Settings/MobileAISettingsView.swift b/TFI/Features/Settings/MobileAISettingsView.swift
index aec3e87c..16c83622 100644
--- a/TFI/Features/Settings/MobileAISettingsView.swift
+++ b/TFI/Features/Settings/MobileAISettingsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFI/Features/Settings/MobileAppSettingsView.swift b/TFI/Features/Settings/MobileAppSettingsView.swift
index a36d5602..fdf92f34 100644
--- a/TFI/Features/Settings/MobileAppSettingsView.swift
+++ b/TFI/Features/Settings/MobileAppSettingsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFI/Features/Settings/MobileCustomThemeEditorSheet.swift b/TFI/Features/Settings/MobileCustomThemeEditorSheet.swift
index f6b4d337..50eb2fca 100644
--- a/TFI/Features/Settings/MobileCustomThemeEditorSheet.swift
+++ b/TFI/Features/Settings/MobileCustomThemeEditorSheet.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Settings/MobileCustomThemesView.swift b/TFI/Features/Settings/MobileCustomThemesView.swift
index 67462831..59f45290 100644
--- a/TFI/Features/Settings/MobileCustomThemesView.swift
+++ b/TFI/Features/Settings/MobileCustomThemesView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Settings/MobileLoggingView.swift b/TFI/Features/Settings/MobileLoggingView.swift
index e5a3087a..ea7c798c 100644
--- a/TFI/Features/Settings/MobileLoggingView.swift
+++ b/TFI/Features/Settings/MobileLoggingView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFI/Features/Settings/MobileMCPSettings.swift b/TFI/Features/Settings/MobileMCPSettings.swift
index e5954fef..1549d9ec 100644
--- a/TFI/Features/Settings/MobileMCPSettings.swift
+++ b/TFI/Features/Settings/MobileMCPSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFI/Features/Settings/MobileModelFields.swift b/TFI/Features/Settings/MobileModelFields.swift
index 5330c48f..94bae196 100644
--- a/TFI/Features/Settings/MobileModelFields.swift
+++ b/TFI/Features/Settings/MobileModelFields.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindDomain
diff --git a/TFI/Features/Settings/MobileSFTPSettingsView.swift b/TFI/Features/Settings/MobileSFTPSettingsView.swift
index a512ca8a..32168467 100644
--- a/TFI/Features/Settings/MobileSFTPSettingsView.swift
+++ b/TFI/Features/Settings/MobileSFTPSettingsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFI/Features/Settings/MobileSettingsView.swift b/TFI/Features/Settings/MobileSettingsView.swift
index 6e0c3b98..76b04573 100644
--- a/TFI/Features/Settings/MobileSettingsView.swift
+++ b/TFI/Features/Settings/MobileSettingsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFI/Features/Settings/MobileSkillSettings.swift b/TFI/Features/Settings/MobileSkillSettings.swift
index 25b746ae..39a2fa59 100644
--- a/TFI/Features/Settings/MobileSkillSettings.swift
+++ b/TFI/Features/Settings/MobileSkillSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFI/Features/Settings/MobileSyncSettingsView.swift b/TFI/Features/Settings/MobileSyncSettingsView.swift
index b2a9f933..b502624f 100644
--- a/TFI/Features/Settings/MobileSyncSettingsView.swift
+++ b/TFI/Features/Settings/MobileSyncSettingsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Settings/MobileTerminalSettingsView.swift b/TFI/Features/Settings/MobileTerminalSettingsView.swift
index 7afdcdc6..91ef2207 100644
--- a/TFI/Features/Settings/MobileTerminalSettingsView.swift
+++ b/TFI/Features/Settings/MobileTerminalSettingsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Settings/MobileTerminalThemeView.swift b/TFI/Features/Settings/MobileTerminalThemeView.swift
index b0e3a730..0360a47e 100644
--- a/TFI/Features/Settings/MobileTerminalThemeView.swift
+++ b/TFI/Features/Settings/MobileTerminalThemeView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTheme
import SwiftUI
import TermindApplication
diff --git a/TFI/Features/Shell/MobileNavigation.swift b/TFI/Features/Shell/MobileNavigation.swift
index 77035694..47ae2b3d 100644
--- a/TFI/Features/Shell/MobileNavigation.swift
+++ b/TFI/Features/Shell/MobileNavigation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
nonisolated enum MobileDestination: String, CaseIterable, Identifiable {
case vault, metrics, workspaces, assistant, settings
diff --git a/TFI/Features/Snippets/MobileCompactSnippetCardContent.swift b/TFI/Features/Snippets/MobileCompactSnippetCardContent.swift
index f89519c6..7e7b0bc2 100644
--- a/TFI/Features/Snippets/MobileCompactSnippetCardContent.swift
+++ b/TFI/Features/Snippets/MobileCompactSnippetCardContent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/Features/Snippets/MobileSnippetsView.swift b/TFI/Features/Snippets/MobileSnippetsView.swift
index 3d5ca9d7..42d83485 100644
--- a/TFI/Features/Snippets/MobileSnippetsView.swift
+++ b/TFI/Features/Snippets/MobileSnippetsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Terminal/MobileCommandHistoryView.swift b/TFI/Features/Terminal/MobileCommandHistoryView.swift
index 4cafa1fc..ab30b5ed 100644
--- a/TFI/Features/Terminal/MobileCommandHistoryView.swift
+++ b/TFI/Features/Terminal/MobileCommandHistoryView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Terminal/MobileTerminalInitialFocus.swift b/TFI/Features/Terminal/MobileTerminalInitialFocus.swift
index f2562e54..475dff18 100644
--- a/TFI/Features/Terminal/MobileTerminalInitialFocus.swift
+++ b/TFI/Features/Terminal/MobileTerminalInitialFocus.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTerminal
import SwiftUI
diff --git a/TFI/Features/Terminal/MobileTerminalListPresentation.swift b/TFI/Features/Terminal/MobileTerminalListPresentation.swift
index 2596266b..20d97ae8 100644
--- a/TFI/Features/Terminal/MobileTerminalListPresentation.swift
+++ b/TFI/Features/Terminal/MobileTerminalListPresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import UIKit
diff --git a/TFI/Features/Terminal/MobileTerminalSnippetsView.swift b/TFI/Features/Terminal/MobileTerminalSnippetsView.swift
index cd7b9a2a..f33d3d92 100644
--- a/TFI/Features/Terminal/MobileTerminalSnippetsView.swift
+++ b/TFI/Features/Terminal/MobileTerminalSnippetsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Transfers/MobileTransfersView.swift b/TFI/Features/Transfers/MobileTransfersView.swift
index 12693da8..d0f2a61d 100644
--- a/TFI/Features/Transfers/MobileTransfersView.swift
+++ b/TFI/Features/Transfers/MobileTransfersView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import QuickLook
import SwiftUI
import TermindApplication
diff --git a/TFI/Features/Vault/MobileHostCardContent.swift b/TFI/Features/Vault/MobileHostCardContent.swift
index ee510f56..fc0fa966 100644
--- a/TFI/Features/Vault/MobileHostCardContent.swift
+++ b/TFI/Features/Vault/MobileHostCardContent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/Features/Vault/MobileVaultView.swift b/TFI/Features/Vault/MobileVaultView.swift
index 07d77802..e9417d0a 100644
--- a/TFI/Features/Vault/MobileVaultView.swift
+++ b/TFI/Features/Vault/MobileVaultView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFI/Features/Workspaces/MobileAgentForwardingInteraction.swift b/TFI/Features/Workspaces/MobileAgentForwardingInteraction.swift
index 2e9e61a2..4a37af09 100644
--- a/TFI/Features/Workspaces/MobileAgentForwardingInteraction.swift
+++ b/TFI/Features/Workspaces/MobileAgentForwardingInteraction.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/TFI/Features/Workspaces/MobileWorkspace.swift b/TFI/Features/Workspaces/MobileWorkspace.swift
index e86cde98..ca6147d9 100644
--- a/TFI/Features/Workspaces/MobileWorkspace.swift
+++ b/TFI/Features/Workspaces/MobileWorkspace.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Combine
import Foundation
import GhosttyTerminal
diff --git a/TFI/Features/Workspaces/MobileWorkspaceListView.swift b/TFI/Features/Workspaces/MobileWorkspaceListView.swift
index 9afb71ed..684e9171 100644
--- a/TFI/Features/Workspaces/MobileWorkspaceListView.swift
+++ b/TFI/Features/Workspaces/MobileWorkspaceListView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/Features/Workspaces/MobileWorkspaceRenameView.swift b/TFI/Features/Workspaces/MobileWorkspaceRenameView.swift
index 0341a7ae..61485012 100644
--- a/TFI/Features/Workspaces/MobileWorkspaceRenameView.swift
+++ b/TFI/Features/Workspaces/MobileWorkspaceRenameView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindPresentation
diff --git a/TFI/Features/Workspaces/MobileWorkspaceSearchModifier.swift b/TFI/Features/Workspaces/MobileWorkspaceSearchModifier.swift
index 77dfb384..3e243c8f 100644
--- a/TFI/Features/Workspaces/MobileWorkspaceSearchModifier.swift
+++ b/TFI/Features/Workspaces/MobileWorkspaceSearchModifier.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFI/Features/Workspaces/MobileWorkspaceView.swift b/TFI/Features/Workspaces/MobileWorkspaceView.swift
index 6181304e..df4348b4 100644
--- a/TFI/Features/Workspaces/MobileWorkspaceView.swift
+++ b/TFI/Features/Workspaces/MobileWorkspaceView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTerminal
import QuickLook
import SwiftUI
diff --git a/TFI/Infrastructure/MobileWorkspaceStore.swift b/TFI/Infrastructure/MobileWorkspaceStore.swift
index 13937e04..8b41185c 100644
--- a/TFI/Infrastructure/MobileWorkspaceStore.swift
+++ b/TFI/Infrastructure/MobileWorkspaceStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Device-local connection intent and recovery references, never credentials or one-shot commands.
diff --git a/TFI/Infrastructure/SSH/MobileMetricsServices+Live.swift b/TFI/Infrastructure/SSH/MobileMetricsServices+Live.swift
index 7b4b957c..bda8b600 100644
--- a/TFI/Infrastructure/SSH/MobileMetricsServices+Live.swift
+++ b/TFI/Infrastructure/SSH/MobileMetricsServices+Live.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindRemoteInfrastructure
extension MobileMetricsServices {
diff --git a/TFI/Infrastructure/SSH/MobileWorkspaceConnectionServices+Live.swift b/TFI/Infrastructure/SSH/MobileWorkspaceConnectionServices+Live.swift
index 4f784918..bc514f4c 100644
--- a/TFI/Infrastructure/SSH/MobileWorkspaceConnectionServices+Live.swift
+++ b/TFI/Infrastructure/SSH/MobileWorkspaceConnectionServices+Live.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindRemoteInfrastructure
diff --git a/TFI/Platform/Authentication/MCPWebAuthenticationPresenter.swift b/TFI/Platform/Authentication/MCPWebAuthenticationPresenter.swift
index 1b936cf4..282a598e 100644
--- a/TFI/Platform/Authentication/MCPWebAuthenticationPresenter.swift
+++ b/TFI/Platform/Authentication/MCPWebAuthenticationPresenter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AuthenticationServices
import SwiftUI
diff --git a/TFI/Platform/Authentication/SecurityKeyPresenter.swift b/TFI/Platform/Authentication/SecurityKeyPresenter.swift
index 91a03b02..7c66bad4 100644
--- a/TFI/Platform/Authentication/SecurityKeyPresenter.swift
+++ b/TFI/Platform/Authentication/SecurityKeyPresenter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AuthenticationServices
import Foundation
import SwiftUI
diff --git a/TFI/Platform/DeviceCensorship.swift b/TFI/Platform/DeviceCensorship.swift
index 1997156b..1bdf075a 100644
--- a/TFI/Platform/DeviceCensorship.swift
+++ b/TFI/Platform/DeviceCensorship.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import UIKit
diff --git a/TFI/Platform/IOSSpeechAudioInput.swift b/TFI/Platform/IOSSpeechAudioInput.swift
index 380ed01b..bf48edb8 100644
--- a/TFI/Platform/IOSSpeechAudioInput.swift
+++ b/TFI/Platform/IOSSpeechAudioInput.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
@preconcurrency import AVFoundation
import Foundation
import TermindApplication
diff --git a/TFI/Platform/MobileAppDelegate.swift b/TFI/Platform/MobileAppDelegate.swift
index a8f301bd..d3aab5f1 100644
--- a/TFI/Platform/MobileAppDelegate.swift
+++ b/TFI/Platform/MobileAppDelegate.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import UIKit
@MainActor
diff --git a/TFI/Platform/MobileAssistantCamera.swift b/TFI/Platform/MobileAssistantCamera.swift
index 68d3d4fe..81dac4e3 100644
--- a/TFI/Platform/MobileAssistantCamera.swift
+++ b/TFI/Platform/MobileAssistantCamera.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import UIKit
diff --git a/TFI/Platform/MobileBackgroundController.swift b/TFI/Platform/MobileBackgroundController.swift
index 669bd6f2..4ffa93e7 100644
--- a/TFI/Platform/MobileBackgroundController.swift
+++ b/TFI/Platform/MobileBackgroundController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import UIKit
@MainActor
diff --git a/TFI/Platform/MobileHistoryMenuConfiguration.swift b/TFI/Platform/MobileHistoryMenuConfiguration.swift
index a3c69a36..b93d8dfe 100644
--- a/TFI/Platform/MobileHistoryMenuConfiguration.swift
+++ b/TFI/Platform/MobileHistoryMenuConfiguration.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import UIKit
/// Configure native History menus after SwiftUI has supplied their commands and images.
diff --git a/TFI/Platform/MobileHomeScreenQuickActions.swift b/TFI/Platform/MobileHomeScreenQuickActions.swift
index 59c9ecca..d97e846a 100644
--- a/TFI/Platform/MobileHomeScreenQuickActions.swift
+++ b/TFI/Platform/MobileHomeScreenQuickActions.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Combine
import Foundation
import TermindApplication
diff --git a/TFI/Platform/MobileLiveActivityController.swift b/TFI/Platform/MobileLiveActivityController.swift
index 12da0a7b..cce6edc2 100644
--- a/TFI/Platform/MobileLiveActivityController.swift
+++ b/TFI/Platform/MobileLiveActivityController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
@preconcurrency import ActivityKit
import Foundation
import Observation
diff --git a/TFI/Platform/MobileLiveActivityServices.swift b/TFI/Platform/MobileLiveActivityServices.swift
index 034bcfc7..cf7b70c9 100644
--- a/TFI/Platform/MobileLiveActivityServices.swift
+++ b/TFI/Platform/MobileLiveActivityServices.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
@preconcurrency import ActivityKit
import Foundation
import UIKit
diff --git a/TFI/Platform/MobileNotificationPlatform.swift b/TFI/Platform/MobileNotificationPlatform.swift
index 09025fdd..42419ec1 100644
--- a/TFI/Platform/MobileNotificationPlatform.swift
+++ b/TFI/Platform/MobileNotificationPlatform.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import UIKit
@MainActor
diff --git a/TFI/Platform/MobileNotificationRouter.swift b/TFI/Platform/MobileNotificationRouter.swift
index 6f3585c3..a69be9d0 100644
--- a/TFI/Platform/MobileNotificationRouter.swift
+++ b/TFI/Platform/MobileNotificationRouter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/TFI/Platform/MobileSFTPEditedCopyImporter.swift b/TFI/Platform/MobileSFTPEditedCopyImporter.swift
index 12b72503..bd751db2 100644
--- a/TFI/Platform/MobileSFTPEditedCopyImporter.swift
+++ b/TFI/Platform/MobileSFTPEditedCopyImporter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindPresentation
import UniformTypeIdentifiers
diff --git a/TFI/Platform/MobileSFTPOpenWithPresenter.swift b/TFI/Platform/MobileSFTPOpenWithPresenter.swift
index 1c0e2718..3b05f6e8 100644
--- a/TFI/Platform/MobileSFTPOpenWithPresenter.swift
+++ b/TFI/Platform/MobileSFTPOpenWithPresenter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
import UIKit
diff --git a/TFI/Platform/MobileSystemSoundPlayer.swift b/TFI/Platform/MobileSystemSoundPlayer.swift
index 8ed2e515..ef196127 100644
--- a/TFI/Platform/MobileSystemSoundPlayer.swift
+++ b/TFI/Platform/MobileSystemSoundPlayer.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AudioToolbox
import Foundation
diff --git a/TFI/Platform/MobileTerminalDropTarget.swift b/TFI/Platform/MobileTerminalDropTarget.swift
index 97fd10ab..4923e16b 100644
--- a/TFI/Platform/MobileTerminalDropTarget.swift
+++ b/TFI/Platform/MobileTerminalDropTarget.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import UIKit
/// Routes file drops to the workspace while retaining Ghostty's text/URL drop behavior.
diff --git a/TFI/Platform/MobileTerminalEffects.swift b/TFI/Platform/MobileTerminalEffects.swift
index 3f6ddb67..994d8dc6 100644
--- a/TFI/Platform/MobileTerminalEffects.swift
+++ b/TFI/Platform/MobileTerminalEffects.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import UIKit
@MainActor
diff --git a/TFI/Platform/MobileTerminalPhotoPicker.swift b/TFI/Platform/MobileTerminalPhotoPicker.swift
index 0443673c..8f3ab8c1 100644
--- a/TFI/Platform/MobileTerminalPhotoPicker.swift
+++ b/TFI/Platform/MobileTerminalPhotoPicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import PhotosUI
import SwiftUI
diff --git a/TFI/Platform/MobileTerminalSurface.swift b/TFI/Platform/MobileTerminalSurface.swift
index 9e5291c3..7a82109c 100644
--- a/TFI/Platform/MobileTerminalSurface.swift
+++ b/TFI/Platform/MobileTerminalSurface.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTerminal
import TermindApplication
import TermindDomain
diff --git a/TFI/Platform/MobileWorkspaceSceneRouting.swift b/TFI/Platform/MobileWorkspaceSceneRouting.swift
index 5894323a..58860f5d 100644
--- a/TFI/Platform/MobileWorkspaceSceneRouting.swift
+++ b/TFI/Platform/MobileWorkspaceSceneRouting.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import UIKit
diff --git a/TFI/Platform/TerminalFontCatalog.swift b/TFI/Platform/TerminalFontCatalog.swift
index d6183ff9..f65dad72 100644
--- a/TFI/Platform/TerminalFontCatalog.swift
+++ b/TFI/Platform/TerminalFontCatalog.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Observation
import UIKit
diff --git a/TFI/Platform/TerminalNotificationPlatform.swift b/TFI/Platform/TerminalNotificationPlatform.swift
index fd1d0953..43a20c3e 100644
--- a/TFI/Platform/TerminalNotificationPlatform.swift
+++ b/TFI/Platform/TerminalNotificationPlatform.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import UIKit
@MainActor
diff --git a/TFI/UI/Components/MobileConfirmationBinding.swift b/TFI/UI/Components/MobileConfirmationBinding.swift
index 15adc693..91d384a4 100644
--- a/TFI/UI/Components/MobileConfirmationBinding.swift
+++ b/TFI/UI/Components/MobileConfirmationBinding.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
extension Binding {
diff --git a/TFI/UI/Components/MobileConnectionJourneyView.swift b/TFI/UI/Components/MobileConnectionJourneyView.swift
index 9b160cde..24ed79a5 100644
--- a/TFI/UI/Components/MobileConnectionJourneyView.swift
+++ b/TFI/UI/Components/MobileConnectionJourneyView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFI/UI/Components/MobileDropPayload.swift b/TFI/UI/Components/MobileDropPayload.swift
index 129821ab..659971a3 100644
--- a/TFI/UI/Components/MobileDropPayload.swift
+++ b/TFI/UI/Components/MobileDropPayload.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import UniformTypeIdentifiers
diff --git a/TFI/UI/Components/MobileEditorSheet.swift b/TFI/UI/Components/MobileEditorSheet.swift
index cfcc2daa..597fe93f 100644
--- a/TFI/UI/Components/MobileEditorSheet.swift
+++ b/TFI/UI/Components/MobileEditorSheet.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFI/UI/Components/MobileFileImportState.swift b/TFI/UI/Components/MobileFileImportState.swift
index 06c9b3d2..f9384a47 100644
--- a/TFI/UI/Components/MobileFileImportState.swift
+++ b/TFI/UI/Components/MobileFileImportState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
/// The importer can dismiss before delivering its result. Keep the target until
/// completion, without a separate presentation flag that can drift from it.
struct MobileFileImportState {
diff --git a/TFI/UI/Components/MobileNativeList.swift b/TFI/UI/Components/MobileNativeList.swift
index fe0e8cf3..c02f7731 100644
--- a/TFI/UI/Components/MobileNativeList.swift
+++ b/TFI/UI/Components/MobileNativeList.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import ListViewKit
import SwiftUI
import UIKit
diff --git a/TFI/UI/Components/MobileNotificationMenuLabel.swift b/TFI/UI/Components/MobileNotificationMenuLabel.swift
index 45801e0c..d3a694e6 100644
--- a/TFI/UI/Components/MobileNotificationMenuLabel.swift
+++ b/TFI/UI/Components/MobileNotificationMenuLabel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import UIKit
diff --git a/TFI/UI/Components/MobileOperationConfirmationPresenter.swift b/TFI/UI/Components/MobileOperationConfirmationPresenter.swift
index acd2185b..68d1287b 100644
--- a/TFI/UI/Components/MobileOperationConfirmationPresenter.swift
+++ b/TFI/UI/Components/MobileOperationConfirmationPresenter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
import UIKit
diff --git a/TFI/UI/Components/MobileOverflowMenuLabel.swift b/TFI/UI/Components/MobileOverflowMenuLabel.swift
index 8c6d5999..8de0b02e 100644
--- a/TFI/UI/Components/MobileOverflowMenuLabel.swift
+++ b/TFI/UI/Components/MobileOverflowMenuLabel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// Keeps every mobile overflow menu on the same symbol while preserving a contextual accessible name.
diff --git a/TFI/UI/Components/MobileSheetPresentation.swift b/TFI/UI/Components/MobileSheetPresentation.swift
index b17ac326..5246f469 100644
--- a/TFI/UI/Components/MobileSheetPresentation.swift
+++ b/TFI/UI/Components/MobileSheetPresentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// Sheets follow the presenting window without replacing a saving editor's content.
diff --git a/TFI/UI/Components/MobileSingleLineFieldInput.swift b/TFI/UI/Components/MobileSingleLineFieldInput.swift
index 2451ed52..d571e41e 100644
--- a/TFI/UI/Components/MobileSingleLineFieldInput.swift
+++ b/TFI/UI/Components/MobileSingleLineFieldInput.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
import UIKit
diff --git a/TFI/UI/Components/MobileToolbarOverflow.swift b/TFI/UI/Components/MobileToolbarOverflow.swift
index 89aff342..84c64a9b 100644
--- a/TFI/UI/Components/MobileToolbarOverflow.swift
+++ b/TFI/UI/Components/MobileToolbarOverflow.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFI/UI/Components/MobileToolbarSearch.swift b/TFI/UI/Components/MobileToolbarSearch.swift
index 99ea5bc1..5f181331 100644
--- a/TFI/UI/Components/MobileToolbarSearch.swift
+++ b/TFI/UI/Components/MobileToolbarSearch.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
import UIKit
diff --git a/TFI/UI/Components/MobileWindowDropTarget.swift b/TFI/UI/Components/MobileWindowDropTarget.swift
index 95244974..eecc1661 100644
--- a/TFI/UI/Components/MobileWindowDropTarget.swift
+++ b/TFI/UI/Components/MobileWindowDropTarget.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import UIKit
diff --git a/TFI/UI/Managed/MobileCards.swift b/TFI/UI/Managed/MobileCards.swift
index 24870262..3ecb881f 100644
--- a/TFI/UI/Managed/MobileCards.swift
+++ b/TFI/UI/Managed/MobileCards.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
import UIKit
diff --git a/TFI/UI/Managed/MobileCompactCardContent.swift b/TFI/UI/Managed/MobileCompactCardContent.swift
index 3bb05b20..8067f760 100644
--- a/TFI/UI/Managed/MobileCompactCardContent.swift
+++ b/TFI/UI/Managed/MobileCompactCardContent.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
struct MobileCompactCardContent: View {
diff --git a/TFITests/KeyWindowTestTrait.swift b/TFITests/KeyWindowTestTrait.swift
index f0ff4719..6998a0ec 100644
--- a/TFITests/KeyWindowTestTrait.swift
+++ b/TFITests/KeyWindowTestTrait.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFITests/MCPWebAuthenticationPresenterTests.swift b/TFITests/MCPWebAuthenticationPresenterTests.swift
index 329b83ca..0c37075c 100644
--- a/TFITests/MCPWebAuthenticationPresenterTests.swift
+++ b/TFITests/MCPWebAuthenticationPresenterTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AuthenticationServices
import Foundation
diff --git a/TFITests/MobileAISettingsTests.swift b/TFITests/MobileAISettingsTests.swift
index bfd89780..b479bcfd 100644
--- a/TFITests/MobileAISettingsTests.swift
+++ b/TFITests/MobileAISettingsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFITests/MobileAdaptiveLayoutTests.swift b/TFITests/MobileAdaptiveLayoutTests.swift
index 9f751f37..316f084c 100644
--- a/TFITests/MobileAdaptiveLayoutTests.swift
+++ b/TFITests/MobileAdaptiveLayoutTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import ListViewKit
import SwiftUI
import TermindApplication
diff --git a/TFITests/MobileAgentForwardingInteractionTests.swift b/TFITests/MobileAgentForwardingInteractionTests.swift
index 71e9d67d..73b748a7 100644
--- a/TFITests/MobileAgentForwardingInteractionTests.swift
+++ b/TFITests/MobileAgentForwardingInteractionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileAppReviewTests.swift b/TFITests/MobileAppReviewTests.swift
index 32d84d4f..b049df24 100644
--- a/TFITests/MobileAppReviewTests.swift
+++ b/TFITests/MobileAppReviewTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import Testing
diff --git a/TFITests/MobileAppTests.swift b/TFITests/MobileAppTests.swift
index b2ca391f..f1b5862d 100644
--- a/TFITests/MobileAppTests.swift
+++ b/TFITests/MobileAppTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import GhosttyTerminal
import SwiftData
diff --git a/TFITests/MobileAssistantAgentOriginTests.swift b/TFITests/MobileAssistantAgentOriginTests.swift
index 67ae5582..0eab1358 100644
--- a/TFITests/MobileAssistantAgentOriginTests.swift
+++ b/TFITests/MobileAssistantAgentOriginTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFITests/MobileAssistantSpeechTests.swift b/TFITests/MobileAssistantSpeechTests.swift
index cb179865..284e1c9e 100644
--- a/TFITests/MobileAssistantSpeechTests.swift
+++ b/TFITests/MobileAssistantSpeechTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import Testing
diff --git a/TFITests/MobileAssistantTests.swift b/TFITests/MobileAssistantTests.swift
index a026c116..da7d7b5b 100644
--- a/TFITests/MobileAssistantTests.swift
+++ b/TFITests/MobileAssistantTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AVFoundation
import AgentKit
import Foundation
diff --git a/TFITests/MobileAssistantTranscriptTests.swift b/TFITests/MobileAssistantTranscriptTests.swift
index 6606f4ee..6d8e0f85 100644
--- a/TFITests/MobileAssistantTranscriptTests.swift
+++ b/TFITests/MobileAssistantTranscriptTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import ListViewKit
import SwiftUI
diff --git a/TFITests/MobileBackgroundControllerTests.swift b/TFITests/MobileBackgroundControllerTests.swift
index fe4a8de7..b48e0d40 100644
--- a/TFITests/MobileBackgroundControllerTests.swift
+++ b/TFITests/MobileBackgroundControllerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Testing
import UIKit
diff --git a/TFITests/MobileBatchStartupTests.swift b/TFITests/MobileBatchStartupTests.swift
index af00ee7d..df482745 100644
--- a/TFITests/MobileBatchStartupTests.swift
+++ b/TFITests/MobileBatchStartupTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileCardTests.swift b/TFITests/MobileCardTests.swift
index 7cc7712e..7438a6e4 100644
--- a/TFITests/MobileCardTests.swift
+++ b/TFITests/MobileCardTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import SwiftUI
diff --git a/TFITests/MobileCommandGeneratorAndUploadTests.swift b/TFITests/MobileCommandGeneratorAndUploadTests.swift
index f327ceb5..b78e8ebe 100644
--- a/TFITests/MobileCommandGeneratorAndUploadTests.swift
+++ b/TFITests/MobileCommandGeneratorAndUploadTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileCommandNotificationRenderingTests.swift b/TFITests/MobileCommandNotificationRenderingTests.swift
index 218ba44e..23211052 100644
--- a/TFITests/MobileCommandNotificationRenderingTests.swift
+++ b/TFITests/MobileCommandNotificationRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileCompactCardTests.swift b/TFITests/MobileCompactCardTests.swift
index 0ecf3853..0e16d98f 100644
--- a/TFITests/MobileCompactCardTests.swift
+++ b/TFITests/MobileCompactCardTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/TFITests/MobileConnectionFeedbackViewTests.swift b/TFITests/MobileConnectionFeedbackViewTests.swift
index 36fa96db..513a556d 100644
--- a/TFITests/MobileConnectionFeedbackViewTests.swift
+++ b/TFITests/MobileConnectionFeedbackViewTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileConnectionPickerTests.swift b/TFITests/MobileConnectionPickerTests.swift
index 4eb0b5c9..fe855ec5 100644
--- a/TFITests/MobileConnectionPickerTests.swift
+++ b/TFITests/MobileConnectionPickerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/TFITests/MobileContentRegionsTests.swift b/TFITests/MobileContentRegionsTests.swift
index 4c2e16b7..71d16c7c 100644
--- a/TFITests/MobileContentRegionsTests.swift
+++ b/TFITests/MobileContentRegionsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import Testing
import UIKit
diff --git a/TFITests/MobileDropTests.swift b/TFITests/MobileDropTests.swift
index 1fe0fc3f..3877c18c 100644
--- a/TFITests/MobileDropTests.swift
+++ b/TFITests/MobileDropTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import GhosttyTerminal
import SwiftUI
diff --git a/TFITests/MobileEditorToolbarTests.swift b/TFITests/MobileEditorToolbarTests.swift
index fef03a71..4e498520 100644
--- a/TFITests/MobileEditorToolbarTests.swift
+++ b/TFITests/MobileEditorToolbarTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/TFITests/MobileForwardingLifecycleTests.swift b/TFITests/MobileForwardingLifecycleTests.swift
index b85fecf0..1ff496e6 100644
--- a/TFITests/MobileForwardingLifecycleTests.swift
+++ b/TFITests/MobileForwardingLifecycleTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileForwardingRenderingTests.swift b/TFITests/MobileForwardingRenderingTests.swift
index 72b979dd..1cb2a32e 100644
--- a/TFITests/MobileForwardingRenderingTests.swift
+++ b/TFITests/MobileForwardingRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/TFITests/MobileHomeScreenQuickActionTests.swift b/TFITests/MobileHomeScreenQuickActionTests.swift
index b763816a..a0f31315 100644
--- a/TFITests/MobileHomeScreenQuickActionTests.swift
+++ b/TFITests/MobileHomeScreenQuickActionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileHostAdmissionTests.swift b/TFITests/MobileHostAdmissionTests.swift
index 351bba3c..c347cac8 100644
--- a/TFITests/MobileHostAdmissionTests.swift
+++ b/TFITests/MobileHostAdmissionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileKeyExportTests.swift b/TFITests/MobileKeyExportTests.swift
index 9c1e5b40..f8c39c1b 100644
--- a/TFITests/MobileKeyExportTests.swift
+++ b/TFITests/MobileKeyExportTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileLanguagePreferenceMigrationTests.swift b/TFITests/MobileLanguagePreferenceMigrationTests.swift
index 947afe78..9febabae 100644
--- a/TFITests/MobileLanguagePreferenceMigrationTests.swift
+++ b/TFITests/MobileLanguagePreferenceMigrationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import Testing
diff --git a/TFITests/MobileLiveActivityRestorationTests.swift b/TFITests/MobileLiveActivityRestorationTests.swift
index 2c4d4bdf..24677190 100644
--- a/TFITests/MobileLiveActivityRestorationTests.swift
+++ b/TFITests/MobileLiveActivityRestorationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import ActivityKit
import Foundation
import SwiftUI
diff --git a/TFITests/MobileMetricsHostAccessTests.swift b/TFITests/MobileMetricsHostAccessTests.swift
index 142f13f6..c2e35c49 100644
--- a/TFITests/MobileMetricsHostAccessTests.swift
+++ b/TFITests/MobileMetricsHostAccessTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileMetricsJourneyTests.swift b/TFITests/MobileMetricsJourneyTests.swift
index 91b12409..27e09b1f 100644
--- a/TFITests/MobileMetricsJourneyTests.swift
+++ b/TFITests/MobileMetricsJourneyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileMultiConnectionAccessTests.swift b/TFITests/MobileMultiConnectionAccessTests.swift
index 129a76f4..0fe49515 100644
--- a/TFITests/MobileMultiConnectionAccessTests.swift
+++ b/TFITests/MobileMultiConnectionAccessTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindDomain
import Testing
diff --git a/TFITests/MobileMultiHostPickerTests.swift b/TFITests/MobileMultiHostPickerTests.swift
index 11a6f495..249093dd 100644
--- a/TFITests/MobileMultiHostPickerTests.swift
+++ b/TFITests/MobileMultiHostPickerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileNavigationParityTests.swift b/TFITests/MobileNavigationParityTests.swift
index 14211388..f08c2068 100644
--- a/TFITests/MobileNavigationParityTests.swift
+++ b/TFITests/MobileNavigationParityTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindRemoteInfrastructure
diff --git a/TFITests/MobileOperationConfirmationTests.swift b/TFITests/MobileOperationConfirmationTests.swift
index 69884866..d7c699b9 100644
--- a/TFITests/MobileOperationConfirmationTests.swift
+++ b/TFITests/MobileOperationConfirmationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFITests/MobilePersistentSessionCloseTests.swift b/TFITests/MobilePersistentSessionCloseTests.swift
index d55c263f..febedc6e 100644
--- a/TFITests/MobilePersistentSessionCloseTests.swift
+++ b/TFITests/MobilePersistentSessionCloseTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileProviderDefaultsTests.swift b/TFITests/MobileProviderDefaultsTests.swift
index 73e7e5b7..6822cfe0 100644
--- a/TFITests/MobileProviderDefaultsTests.swift
+++ b/TFITests/MobileProviderDefaultsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFITests/MobileRegionTestHost.swift b/TFITests/MobileRegionTestHost.swift
index c682a7f0..0dcf1457 100644
--- a/TFITests/MobileRegionTestHost.swift
+++ b/TFITests/MobileRegionTestHost.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
@testable import TermindIOS
diff --git a/TFITests/MobileSFTPChannelTests.swift b/TFITests/MobileSFTPChannelTests.swift
index 0881d578..68212f4c 100644
--- a/TFITests/MobileSFTPChannelTests.swift
+++ b/TFITests/MobileSFTPChannelTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileSFTPCopyAvailabilityTests.swift b/TFITests/MobileSFTPCopyAvailabilityTests.swift
index 211ac220..e6015551 100644
--- a/TFITests/MobileSFTPCopyAvailabilityTests.swift
+++ b/TFITests/MobileSFTPCopyAvailabilityTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFITests/MobileSFTPEditPreviewTests.swift b/TFITests/MobileSFTPEditPreviewTests.swift
index 7c49b1ec..3c3c9c20 100644
--- a/TFITests/MobileSFTPEditPreviewTests.swift
+++ b/TFITests/MobileSFTPEditPreviewTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import QuickLook
import TermindApplication
diff --git a/TFITests/MobileSFTPEditedCopyImporterTests.swift b/TFITests/MobileSFTPEditedCopyImporterTests.swift
index b75893d4..6d605676 100644
--- a/TFITests/MobileSFTPEditedCopyImporterTests.swift
+++ b/TFITests/MobileSFTPEditedCopyImporterTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/TFITests/MobileSFTPHistoryTests.swift b/TFITests/MobileSFTPHistoryTests.swift
index fd145025..b7a038c8 100644
--- a/TFITests/MobileSFTPHistoryTests.swift
+++ b/TFITests/MobileSFTPHistoryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileSFTPOpenWithTests.swift b/TFITests/MobileSFTPOpenWithTests.swift
index 0b661aea..cc6afd58 100644
--- a/TFITests/MobileSFTPOpenWithTests.swift
+++ b/TFITests/MobileSFTPOpenWithTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Testing
import UIKit
diff --git a/TFITests/MobileSettingsPortTests.swift b/TFITests/MobileSettingsPortTests.swift
index adfbe263..cfe1e878 100644
--- a/TFITests/MobileSettingsPortTests.swift
+++ b/TFITests/MobileSettingsPortTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/TFITests/MobileShortcutTests.swift b/TFITests/MobileShortcutTests.swift
index 7201b7ba..67447f93 100644
--- a/TFITests/MobileShortcutTests.swift
+++ b/TFITests/MobileShortcutTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileSingleLineFieldEditingTests.swift b/TFITests/MobileSingleLineFieldEditingTests.swift
index 47c85369..c3d1222c 100644
--- a/TFITests/MobileSingleLineFieldEditingTests.swift
+++ b/TFITests/MobileSingleLineFieldEditingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFITests/MobileSnippetTests.swift b/TFITests/MobileSnippetTests.swift
index cc3a4a4d..49bb7cd5 100644
--- a/TFITests/MobileSnippetTests.swift
+++ b/TFITests/MobileSnippetTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/TFITests/MobileStartupViewTests.swift b/TFITests/MobileStartupViewTests.swift
index f9040489..43f11a38 100644
--- a/TFITests/MobileStartupViewTests.swift
+++ b/TFITests/MobileStartupViewTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import Testing
diff --git a/TFITests/MobileSystemSoundPlayerTests.swift b/TFITests/MobileSystemSoundPlayerTests.swift
index e1f6f6de..e0074d2c 100644
--- a/TFITests/MobileSystemSoundPlayerTests.swift
+++ b/TFITests/MobileSystemSoundPlayerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AudioToolbox
import Foundation
import Synchronization
diff --git a/TFITests/MobileTerminalBackgroundTests.swift b/TFITests/MobileTerminalBackgroundTests.swift
index 14dc8dec..d01cfd3d 100644
--- a/TFITests/MobileTerminalBackgroundTests.swift
+++ b/TFITests/MobileTerminalBackgroundTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTerminal
import SwiftUI
import TermindApplication
diff --git a/TFITests/MobileTerminalExperienceTests.swift b/TFITests/MobileTerminalExperienceTests.swift
index a06055a5..77ad71e2 100644
--- a/TFITests/MobileTerminalExperienceTests.swift
+++ b/TFITests/MobileTerminalExperienceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import GhosttyTerminal
import SwiftUI
diff --git a/TFITests/MobileTerminalKeyboardTests.swift b/TFITests/MobileTerminalKeyboardTests.swift
index f3210497..1d575e76 100644
--- a/TFITests/MobileTerminalKeyboardTests.swift
+++ b/TFITests/MobileTerminalKeyboardTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import GhosttyTerminal
import SwiftUI
diff --git a/TFITests/MobileTerminalListTests.swift b/TFITests/MobileTerminalListTests.swift
index f4d1d309..1717d992 100644
--- a/TFITests/MobileTerminalListTests.swift
+++ b/TFITests/MobileTerminalListTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileTerminalRestorationTests.swift b/TFITests/MobileTerminalRestorationTests.swift
index cba2613f..9d9d9c0e 100644
--- a/TFITests/MobileTerminalRestorationTests.swift
+++ b/TFITests/MobileTerminalRestorationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileTerminalSearchTests.swift b/TFITests/MobileTerminalSearchTests.swift
index fd7e7680..9becca40 100644
--- a/TFITests/MobileTerminalSearchTests.swift
+++ b/TFITests/MobileTerminalSearchTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTerminal
import SwiftUI
import TermindDomain
diff --git a/TFITests/MobileTestSupport.swift b/TFITests/MobileTestSupport.swift
index b62246fd..17584dda 100644
--- a/TFITests/MobileTestSupport.swift
+++ b/TFITests/MobileTestSupport.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Testing
import UIKit
diff --git a/TFITests/MobileVaultFeatureTests.swift b/TFITests/MobileVaultFeatureTests.swift
index 8e5dce1f..6a352a83 100644
--- a/TFITests/MobileVaultFeatureTests.swift
+++ b/TFITests/MobileVaultFeatureTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import SwiftData
diff --git a/TFITests/MobileWakeAccessTests.swift b/TFITests/MobileWakeAccessTests.swift
index 2a7e8ba6..6bb3d3fc 100644
--- a/TFITests/MobileWakeAccessTests.swift
+++ b/TFITests/MobileWakeAccessTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileWorkspaceListUpdateTests.swift b/TFITests/MobileWorkspaceListUpdateTests.swift
index 7c065a88..04f76605 100644
--- a/TFITests/MobileWorkspaceListUpdateTests.swift
+++ b/TFITests/MobileWorkspaceListUpdateTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import Testing
diff --git a/TFITests/MobileWorkspacePersistenceTests.swift b/TFITests/MobileWorkspacePersistenceTests.swift
index 6fe7ef51..5b8a64d4 100644
--- a/TFITests/MobileWorkspacePersistenceTests.swift
+++ b/TFITests/MobileWorkspacePersistenceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFITests/MobileWorkspacePresentationTests.swift b/TFITests/MobileWorkspacePresentationTests.swift
index 6eaf836a..946569a2 100644
--- a/TFITests/MobileWorkspacePresentationTests.swift
+++ b/TFITests/MobileWorkspacePresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFITests/MobileWorkspaceSessionTests.swift b/TFITests/MobileWorkspaceSessionTests.swift
index f9769f33..db8a82c3 100644
--- a/TFITests/MobileWorkspaceSessionTests.swift
+++ b/TFITests/MobileWorkspaceSessionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import SwiftUI
diff --git a/TFITests/MobileWorkspaceStoreTests.swift b/TFITests/MobileWorkspaceStoreTests.swift
index 9f842afa..520faa6b 100644
--- a/TFITests/MobileWorkspaceStoreTests.swift
+++ b/TFITests/MobileWorkspaceStoreTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFITests/MobileWorkspaceTestSupport.swift b/TFITests/MobileWorkspaceTestSupport.swift
index d932b6d7..16b8b921 100644
--- a/TFITests/MobileWorkspaceTestSupport.swift
+++ b/TFITests/MobileWorkspaceTestSupport.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
@testable import TermindIOS
extension MobileAppModel {
diff --git a/TFITests/MobileWorkspaceWindowIntegrationTests.swift b/TFITests/MobileWorkspaceWindowIntegrationTests.swift
index dec5be28..6601c2c8 100644
--- a/TFITests/MobileWorkspaceWindowIntegrationTests.swift
+++ b/TFITests/MobileWorkspaceWindowIntegrationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import Testing
diff --git a/TFITests/Screenshots/MobileScreenshotTests.swift b/TFITests/Screenshots/MobileScreenshotTests.swift
index 7bc8a795..b3f947c5 100644
--- a/TFITests/Screenshots/MobileScreenshotTests.swift
+++ b/TFITests/Screenshots/MobileScreenshotTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import ObjectiveC
import SwiftUI
diff --git a/TFITests/TailscaleKeychainTests.swift b/TFITests/TailscaleKeychainTests.swift
index bb999dc8..47325d2b 100644
--- a/TFITests/TailscaleKeychainTests.swift
+++ b/TFITests/TailscaleKeychainTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CTailscale
import Foundation
import Security
diff --git a/TFIWidgets/WorkspaceLiveActivity.swift b/TFIWidgets/WorkspaceLiveActivity.swift
index 31f6d0dc..56390807 100644
--- a/TFIWidgets/WorkspaceLiveActivity.swift
+++ b/TFIWidgets/WorkspaceLiveActivity.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import ActivityKit
import SwiftUI
import TermindPresentation
diff --git a/TFM/App/AppAppearance.swift b/TFM/App/AppAppearance.swift
index cd72420d..67fd5166 100644
--- a/TFM/App/AppAppearance.swift
+++ b/TFM/App/AppAppearance.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindPresentation
diff --git a/TFM/App/AppDependencies.swift b/TFM/App/AppDependencies.swift
index f1428095..acdaab40 100644
--- a/TFM/App/AppDependencies.swift
+++ b/TFM/App/AppDependencies.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/App/AppModel+LocalNetwork.swift b/TFM/App/AppModel+LocalNetwork.swift
index 234c41dd..4cf2eace 100644
--- a/TFM/App/AppModel+LocalNetwork.swift
+++ b/TFM/App/AppModel+LocalNetwork.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/App/AppModel.swift b/TFM/App/AppModel.swift
index eded27a6..72d56bdf 100644
--- a/TFM/App/AppModel.swift
+++ b/TFM/App/AppModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AgentKitScrubber
import AppKit
diff --git a/TFM/App/ApplicationIdentity.swift b/TFM/App/ApplicationIdentity.swift
index 7ef13bfc..ce29e09f 100644
--- a/TFM/App/ApplicationIdentity.swift
+++ b/TFM/App/ApplicationIdentity.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated enum ApplicationIdentity {
diff --git a/TFM/App/Bundle+Termind.swift b/TFM/App/Bundle+Termind.swift
index 5ff4b207..8f77bcbd 100644
--- a/TFM/App/Bundle+Termind.swift
+++ b/TFM/App/Bundle+Termind.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
extension Bundle {
diff --git a/TFM/App/DatabaseStartupGuard.swift b/TFM/App/DatabaseStartupGuard.swift
index 5496fc1b..c218c7e6 100644
--- a/TFM/App/DatabaseStartupGuard.swift
+++ b/TFM/App/DatabaseStartupGuard.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindPersistence
import TermindPresentation
diff --git a/TFM/App/DesktopSettingsKey.swift b/TFM/App/DesktopSettingsKey.swift
index 7942c94d..13ec9a15 100644
--- a/TFM/App/DesktopSettingsKey.swift
+++ b/TFM/App/DesktopSettingsKey.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/App/LegacyWebSearchSettings.swift b/TFM/App/LegacyWebSearchSettings.swift
index 835a54f4..c216e244 100644
--- a/TFM/App/LegacyWebSearchSettings.swift
+++ b/TFM/App/LegacyWebSearchSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Removes search configuration that became both unused and unreachable when
diff --git a/TFM/App/MCPServerController.swift b/TFM/App/MCPServerController.swift
index 1048ae26..e59a2c6d 100644
--- a/TFM/App/MCPServerController.swift
+++ b/TFM/App/MCPServerController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Security
import TermindApplication
diff --git a/TFM/App/OnboardingController.swift b/TFM/App/OnboardingController.swift
index c7de4b0a..24a1c369 100644
--- a/TFM/App/OnboardingController.swift
+++ b/TFM/App/OnboardingController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindPresentation
diff --git a/TFM/App/RecentlyClosedWorkspaces.swift b/TFM/App/RecentlyClosedWorkspaces.swift
index 13f9cf7d..eaf0e4d5 100644
--- a/TFM/App/RecentlyClosedWorkspaces.swift
+++ b/TFM/App/RecentlyClosedWorkspaces.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/TFM/App/RootView.swift b/TFM/App/RootView.swift
index 9aa493d9..a919a929 100644
--- a/TFM/App/RootView.swift
+++ b/TFM/App/RootView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
@preconcurrency import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFM/App/RuntimeVersions.swift b/TFM/App/RuntimeVersions.swift
index f755aff4..92d1a22d 100644
--- a/TFM/App/RuntimeVersions.swift
+++ b/TFM/App/RuntimeVersions.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyKit
import TermindRemoteInfrastructure
diff --git a/TFM/App/ScreenshotDemo+Metrics.swift b/TFM/App/ScreenshotDemo+Metrics.swift
index 10f259d9..526a6278 100644
--- a/TFM/App/ScreenshotDemo+Metrics.swift
+++ b/TFM/App/ScreenshotDemo+Metrics.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import TermindDomain
diff --git a/TFM/App/ScreenshotDemo.swift b/TFM/App/ScreenshotDemo.swift
index aed0d63a..5a9cdf66 100644
--- a/TFM/App/ScreenshotDemo.swift
+++ b/TFM/App/ScreenshotDemo.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
#if DEBUG
diff --git a/TFM/App/TermindApp.swift b/TFM/App/TermindApp.swift
index 5cb5962c..1ae6963f 100644
--- a/TFM/App/TermindApp.swift
+++ b/TFM/App/TermindApp.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKitScrubber
import SwiftData
import SwiftUI
diff --git a/TFM/App/TermindCommands.swift b/TFM/App/TermindCommands.swift
index ebda92d1..fcc34a48 100644
--- a/TFM/App/TermindCommands.swift
+++ b/TFM/App/TermindCommands.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/App/WindowCloseShortcuts.swift b/TFM/App/WindowCloseShortcuts.swift
index ca892e59..f9df8eea 100644
--- a/TFM/App/WindowCloseShortcuts.swift
+++ b/TFM/App/WindowCloseShortcuts.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// The primary close key follows the visible workspace on both platforms.
diff --git a/TFM/App/WindowFocusedValues.swift b/TFM/App/WindowFocusedValues.swift
index a7cb7ff5..f3832930 100644
--- a/TFM/App/WindowFocusedValues.swift
+++ b/TFM/App/WindowFocusedValues.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// Routes menu commands to the frontmost Termind window without making the
diff --git a/TFM/App/WorkspaceNumberShortcuts.swift b/TFM/App/WorkspaceNumberShortcuts.swift
index b0738f1f..914001a3 100644
--- a/TFM/App/WorkspaceNumberShortcuts.swift
+++ b/TFM/App/WorkspaceNumberShortcuts.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/Application/Commands/AppCommandRegistry.swift b/TFM/Application/Commands/AppCommandRegistry.swift
index 349c9583..f2800584 100644
--- a/TFM/Application/Commands/AppCommandRegistry.swift
+++ b/TFM/Application/Commands/AppCommandRegistry.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Application/FeatureModels/AIConfigurationModel+Demo.swift b/TFM/Application/FeatureModels/AIConfigurationModel+Demo.swift
index feb5cd9f..5b25516a 100644
--- a/TFM/Application/FeatureModels/AIConfigurationModel+Demo.swift
+++ b/TFM/Application/FeatureModels/AIConfigurationModel+Demo.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/Application/FeatureModels/AssistantConversationCommands.swift b/TFM/Application/FeatureModels/AssistantConversationCommands.swift
index 0ec160d4..da7a6f98 100644
--- a/TFM/Application/FeatureModels/AssistantConversationCommands.swift
+++ b/TFM/Application/FeatureModels/AssistantConversationCommands.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Application/FeatureModels/HostLibraryModel+Demo.swift b/TFM/Application/FeatureModels/HostLibraryModel+Demo.swift
index 1336cc5c..c605b71c 100644
--- a/TFM/Application/FeatureModels/HostLibraryModel+Demo.swift
+++ b/TFM/Application/FeatureModels/HostLibraryModel+Demo.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Application/FeatureModels/SSHImportModel+Desktop.swift b/TFM/Application/FeatureModels/SSHImportModel+Desktop.swift
index f0606e35..94dd90ff 100644
--- a/TFM/Application/FeatureModels/SSHImportModel+Desktop.swift
+++ b/TFM/Application/FeatureModels/SSHImportModel+Desktop.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
diff --git a/TFM/Application/FeatureModels/ToolAuditModel.swift b/TFM/Application/FeatureModels/ToolAuditModel.swift
index 9368a793..e776b5b6 100644
--- a/TFM/Application/FeatureModels/ToolAuditModel.swift
+++ b/TFM/Application/FeatureModels/ToolAuditModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/Application/MCPServer/MCPDownloadCoordinator.swift b/TFM/Application/MCPServer/MCPDownloadCoordinator.swift
index 6346fd4b..feaf035e 100644
--- a/TFM/Application/MCPServer/MCPDownloadCoordinator.swift
+++ b/TFM/Application/MCPServer/MCPDownloadCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/Application/MCPServer/MCPDownloadReader.swift b/TFM/Application/MCPServer/MCPDownloadReader.swift
index 40a6a6cf..cd774e8f 100644
--- a/TFM/Application/MCPServer/MCPDownloadReader.swift
+++ b/TFM/Application/MCPServer/MCPDownloadReader.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import CryptoKit
import Foundation
diff --git a/TFM/Application/MCPServer/MCPDownloadTools.swift b/TFM/Application/MCPServer/MCPDownloadTools.swift
index be48ee2c..c669df20 100644
--- a/TFM/Application/MCPServer/MCPDownloadTools.swift
+++ b/TFM/Application/MCPServer/MCPDownloadTools.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/Application/MCPServer/MCPServerTools.swift b/TFM/Application/MCPServer/MCPServerTools.swift
index 9fb0986c..4414f643 100644
--- a/TFM/Application/MCPServer/MCPServerTools.swift
+++ b/TFM/Application/MCPServer/MCPServerTools.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/Application/MCPServer/MCPTransferBudget.swift b/TFM/Application/MCPServer/MCPTransferBudget.swift
index 1e387058..a6f2f1ab 100644
--- a/TFM/Application/MCPServer/MCPTransferBudget.swift
+++ b/TFM/Application/MCPServer/MCPTransferBudget.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
@MainActor
diff --git a/TFM/Application/MCPServer/MCPTransferTicket.swift b/TFM/Application/MCPServer/MCPTransferTicket.swift
index a8c3fd38..061665e1 100644
--- a/TFM/Application/MCPServer/MCPTransferTicket.swift
+++ b/TFM/Application/MCPServer/MCPTransferTicket.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindRemoteInfrastructure
diff --git a/TFM/Application/MCPServer/MCPUploadCoordinator.swift b/TFM/Application/MCPServer/MCPUploadCoordinator.swift
index b823f96f..b57eacb4 100644
--- a/TFM/Application/MCPServer/MCPUploadCoordinator.swift
+++ b/TFM/Application/MCPServer/MCPUploadCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/Application/MCPServer/MCPUploadTools.swift b/TFM/Application/MCPServer/MCPUploadTools.swift
index 2145a773..92449a4e 100644
--- a/TFM/Application/MCPServer/MCPUploadTools.swift
+++ b/TFM/Application/MCPServer/MCPUploadTools.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/Application/QuickConnectParser.swift b/TFM/Application/QuickConnectParser.swift
index 48f6106a..7c4342c1 100644
--- a/TFM/Application/QuickConnectParser.swift
+++ b/TFM/Application/QuickConnectParser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Application/QuickConnectTarget.swift b/TFM/Application/QuickConnectTarget.swift
index 35bf9dff..b884c079 100644
--- a/TFM/Application/QuickConnectTarget.swift
+++ b/TFM/Application/QuickConnectTarget.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Application/Serial/SerialPortService.swift b/TFM/Application/Serial/SerialPortService.swift
index 84cb56f9..41824861 100644
--- a/TFM/Application/Serial/SerialPortService.swift
+++ b/TFM/Application/Serial/SerialPortService.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindPresentation
diff --git a/TFM/Design/DesignTokens.swift b/TFM/Design/DesignTokens.swift
index ae7b3322..0ba6e04c 100644
--- a/TFM/Design/DesignTokens.swift
+++ b/TFM/Design/DesignTokens.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindPresentation
diff --git a/TFM/Design/TagField.swift b/TFM/Design/TagField.swift
index 4014f941..c881e6d5 100644
--- a/TFM/Design/TagField.swift
+++ b/TFM/Design/TagField.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFM/Design/TerminalTheme.swift b/TFM/Design/TerminalTheme.swift
index cc3ada2c..44e43b85 100644
--- a/TFM/Design/TerminalTheme.swift
+++ b/TFM/Design/TerminalTheme.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/TFM/DesignSystem/Connection+Presentation.swift b/TFM/DesignSystem/Connection+Presentation.swift
index 22583834..12a78210 100644
--- a/TFM/DesignSystem/Connection+Presentation.swift
+++ b/TFM/DesignSystem/Connection+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindPresentation
diff --git a/TFM/DesignSystem/MenuSymbol.swift b/TFM/DesignSystem/MenuSymbol.swift
index 0c6dfbb8..1645d2a5 100644
--- a/TFM/DesignSystem/MenuSymbol.swift
+++ b/TFM/DesignSystem/MenuSymbol.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/TFM/Features/AI/AgentUserInputCard.swift b/TFM/Features/AI/AgentUserInputCard.swift
index e2b059fa..cd379dbd 100644
--- a/TFM/Features/AI/AgentUserInputCard.swift
+++ b/TFM/Features/AI/AgentUserInputCard.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/AI/CommandCardView.swift b/TFM/Features/AI/CommandCardView.swift
index 3ed6059b..b90902e0 100644
--- a/TFM/Features/AI/CommandCardView.swift
+++ b/TFM/Features/AI/CommandCardView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
diff --git a/TFM/Features/AI/ContextAttachmentOpener.swift b/TFM/Features/AI/ContextAttachmentOpener.swift
index 31c5b6f8..691f4a2e 100644
--- a/TFM/Features/AI/ContextAttachmentOpener.swift
+++ b/TFM/Features/AI/ContextAttachmentOpener.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import Foundation
diff --git a/TFM/Features/AI/ConversationTranscriptView.swift b/TFM/Features/AI/ConversationTranscriptView.swift
index 1e553fa5..5a116729 100644
--- a/TFM/Features/AI/ConversationTranscriptView.swift
+++ b/TFM/Features/AI/ConversationTranscriptView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/AI/ConversationViews.swift b/TFM/Features/AI/ConversationViews.swift
index 1e6b362a..87a10d57 100644
--- a/TFM/Features/AI/ConversationViews.swift
+++ b/TFM/Features/AI/ConversationViews.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import SwiftUI
diff --git a/TFM/Features/AI/MarkdownBlockListView.swift b/TFM/Features/AI/MarkdownBlockListView.swift
index ed070917..3815afb6 100644
--- a/TFM/Features/AI/MarkdownBlockListView.swift
+++ b/TFM/Features/AI/MarkdownBlockListView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import MarkdownParser
import MarkdownView
diff --git a/TFM/Features/AI/MarkdownCodeBlockView.swift b/TFM/Features/AI/MarkdownCodeBlockView.swift
index cbf93db7..38ff2b96 100644
--- a/TFM/Features/AI/MarkdownCodeBlockView.swift
+++ b/TFM/Features/AI/MarkdownCodeBlockView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/Features/AI/SessionContext+Presentation.swift b/TFM/Features/AI/SessionContext+Presentation.swift
index 802c54f8..997a017c 100644
--- a/TFM/Features/AI/SessionContext+Presentation.swift
+++ b/TFM/Features/AI/SessionContext+Presentation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/AI/SlashCommandMenuView.swift b/TFM/Features/AI/SlashCommandMenuView.swift
index e7856b04..e59962b6 100644
--- a/TFM/Features/AI/SlashCommandMenuView.swift
+++ b/TFM/Features/AI/SlashCommandMenuView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFM/Features/AI/TranscriptListView.swift b/TFM/Features/AI/TranscriptListView.swift
index fad7526d..dace9c35 100644
--- a/TFM/Features/AI/TranscriptListView.swift
+++ b/TFM/Features/AI/TranscriptListView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import ListViewKit
diff --git a/TFM/Features/AI/TranscriptNativeRows.swift b/TFM/Features/AI/TranscriptNativeRows.swift
index 4ed0b5d8..30e6b447 100644
--- a/TFM/Features/AI/TranscriptNativeRows.swift
+++ b/TFM/Features/AI/TranscriptNativeRows.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import ListViewKit
diff --git a/TFM/Features/Assistant/AssistantView.swift b/TFM/Features/Assistant/AssistantView.swift
index aa72e5ac..bdc732fe 100644
--- a/TFM/Features/Assistant/AssistantView.swift
+++ b/TFM/Features/Assistant/AssistantView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import ListViewKit
import SwiftUI
diff --git a/TFM/Features/Commerce/ProPaywallView.swift b/TFM/Features/Commerce/ProPaywallView.swift
index bb545b01..39f723c2 100644
--- a/TFM/Features/Commerce/ProPaywallView.swift
+++ b/TFM/Features/Commerce/ProPaywallView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import RevenueCatUI
import SwiftUI
import TermindDomain
diff --git a/TFM/Features/ExternalRequests/ExternalAuthCoordinator.swift b/TFM/Features/ExternalRequests/ExternalAuthCoordinator.swift
index d47b0e6a..5076ba21 100644
--- a/TFM/Features/ExternalRequests/ExternalAuthCoordinator.swift
+++ b/TFM/Features/ExternalRequests/ExternalAuthCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Logging
diff --git a/TFM/Features/ExternalRequests/ExternalAuthWindow.swift b/TFM/Features/ExternalRequests/ExternalAuthWindow.swift
index e9128ec2..f1ea2f7f 100644
--- a/TFM/Features/ExternalRequests/ExternalAuthWindow.swift
+++ b/TFM/Features/ExternalRequests/ExternalAuthWindow.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import SwiftUI
diff --git a/TFM/Features/HostChooser/HostChooserView.swift b/TFM/Features/HostChooser/HostChooserView.swift
index fc0d3762..9237c711 100644
--- a/TFM/Features/HostChooser/HostChooserView.swift
+++ b/TFM/Features/HostChooser/HostChooserView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/HostEditor/HostEditorView.swift b/TFM/Features/HostEditor/HostEditorView.swift
index 55b38d03..f0d709be 100644
--- a/TFM/Features/HostEditor/HostEditorView.swift
+++ b/TFM/Features/HostEditor/HostEditorView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/HostEditor/HostLocalDiscoveryView.swift b/TFM/Features/HostEditor/HostLocalDiscoveryView.swift
index f68fef74..f077b305 100644
--- a/TFM/Features/HostEditor/HostLocalDiscoveryView.swift
+++ b/TFM/Features/HostEditor/HostLocalDiscoveryView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/HostEditor/HostMACAddressView.swift b/TFM/Features/HostEditor/HostMACAddressView.swift
index 2f1612e6..b8c5f92b 100644
--- a/TFM/Features/HostEditor/HostMACAddressView.swift
+++ b/TFM/Features/HostEditor/HostMACAddressView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Hosts/HostActions.swift b/TFM/Features/Hosts/HostActions.swift
index 7f3537ee..015fffa9 100644
--- a/TFM/Features/Hosts/HostActions.swift
+++ b/TFM/Features/Hosts/HostActions.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFM/Features/Hosts/HostsPageView.swift b/TFM/Features/Hosts/HostsPageView.swift
index 2c2781d1..d6c4ee15 100644
--- a/TFM/Features/Hosts/HostsPageView.swift
+++ b/TFM/Features/Hosts/HostsPageView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Hosts/NewGroupSheet.swift b/TFM/Features/Hosts/NewGroupSheet.swift
index baa08faf..72e8069d 100644
--- a/TFM/Features/Hosts/NewGroupSheet.swift
+++ b/TFM/Features/Hosts/NewGroupSheet.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Hosts/TailscaleDetailView.swift b/TFM/Features/Hosts/TailscaleDetailView.swift
index a2bf9e4b..1197bfd1 100644
--- a/TFM/Features/Hosts/TailscaleDetailView.swift
+++ b/TFM/Features/Hosts/TailscaleDetailView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFM/Features/Keychain/KeyExportDetailView.swift b/TFM/Features/Keychain/KeyExportDetailView.swift
index ba0effba..5a18bc66 100644
--- a/TFM/Features/Keychain/KeyExportDetailView.swift
+++ b/TFM/Features/Keychain/KeyExportDetailView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Keychain/KeychainPageView.swift b/TFM/Features/Keychain/KeychainPageView.swift
index 4873a770..8f352362 100644
--- a/TFM/Features/Keychain/KeychainPageView.swift
+++ b/TFM/Features/Keychain/KeychainPageView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Keychain/NewIdentitySheet.swift b/TFM/Features/Keychain/NewIdentitySheet.swift
index 8a9316a8..59a7de4b 100644
--- a/TFM/Features/Keychain/NewIdentitySheet.swift
+++ b/TFM/Features/Keychain/NewIdentitySheet.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFM/Features/Keychain/SecurityKeyEditor.swift b/TFM/Features/Keychain/SecurityKeyEditor.swift
index 2a839bc5..1ad38e67 100644
--- a/TFM/Features/Keychain/SecurityKeyEditor.swift
+++ b/TFM/Features/Keychain/SecurityKeyEditor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/KnownHosts/KnownHostsPageView.swift b/TFM/Features/KnownHosts/KnownHostsPageView.swift
index 88448197..66e947e9 100644
--- a/TFM/Features/KnownHosts/KnownHostsPageView.swift
+++ b/TFM/Features/KnownHosts/KnownHostsPageView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFM/Features/Metrics/MetricsConnectionNotice.swift b/TFM/Features/Metrics/MetricsConnectionNotice.swift
index c2d214a8..b3b2a1bc 100644
--- a/TFM/Features/Metrics/MetricsConnectionNotice.swift
+++ b/TFM/Features/Metrics/MetricsConnectionNotice.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFM/Features/Metrics/MetricsDetailLayout.swift b/TFM/Features/Metrics/MetricsDetailLayout.swift
index 7faf22bc..9ad174ea 100644
--- a/TFM/Features/Metrics/MetricsDetailLayout.swift
+++ b/TFM/Features/Metrics/MetricsDetailLayout.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
nonisolated enum MetricsDetailPage: CaseIterable {
diff --git a/TFM/Features/Metrics/MetricsJourneyView.swift b/TFM/Features/Metrics/MetricsJourneyView.swift
index 65579668..fced5cf9 100644
--- a/TFM/Features/Metrics/MetricsJourneyView.swift
+++ b/TFM/Features/Metrics/MetricsJourneyView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/Metrics/MetricsManagedCardPage.swift b/TFM/Features/Metrics/MetricsManagedCardPage.swift
index 05648791..0fffb213 100644
--- a/TFM/Features/Metrics/MetricsManagedCardPage.swift
+++ b/TFM/Features/Metrics/MetricsManagedCardPage.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFM/Features/Metrics/MetricsServerDetails.swift b/TFM/Features/Metrics/MetricsServerDetails.swift
index 77fc5a1b..fedf6a45 100644
--- a/TFM/Features/Metrics/MetricsServerDetails.swift
+++ b/TFM/Features/Metrics/MetricsServerDetails.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindPresentation
diff --git a/TFM/Features/Metrics/MetricsView.swift b/TFM/Features/Metrics/MetricsView.swift
index 3a3a2eb3..ff1601ef 100644
--- a/TFM/Features/Metrics/MetricsView.swift
+++ b/TFM/Features/Metrics/MetricsView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Ports/PortForwardingView.swift b/TFM/Features/Ports/PortForwardingView.swift
index 23148584..c3fcd0a3 100644
--- a/TFM/Features/Ports/PortForwardingView.swift
+++ b/TFM/Features/Ports/PortForwardingView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/QuickOpen/QuickOpenView.swift b/TFM/Features/QuickOpen/QuickOpenView.swift
index 664a5448..8ea19e09 100644
--- a/TFM/Features/QuickOpen/QuickOpenView.swift
+++ b/TFM/Features/QuickOpen/QuickOpenView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindPresentation
diff --git a/TFM/Features/SFTP/SFTPBrowserView.swift b/TFM/Features/SFTP/SFTPBrowserView.swift
index 12467657..764e55bd 100644
--- a/TFM/Features/SFTP/SFTPBrowserView.swift
+++ b/TFM/Features/SFTP/SFTPBrowserView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import ListViewKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/SFTP/SFTPChannelModel.swift b/TFM/Features/SFTP/SFTPChannelModel.swift
index 58ee4f44..d50d9a66 100644
--- a/TFM/Features/SFTP/SFTPChannelModel.swift
+++ b/TFM/Features/SFTP/SFTPChannelModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/SFTP/SFTPFileContextMenu.swift b/TFM/Features/SFTP/SFTPFileContextMenu.swift
index 7325cc43..96647feb 100644
--- a/TFM/Features/SFTP/SFTPFileContextMenu.swift
+++ b/TFM/Features/SFTP/SFTPFileContextMenu.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/SFTP/SFTPOpenWithMenu.swift b/TFM/Features/SFTP/SFTPOpenWithMenu.swift
index 152f5215..11c89e33 100644
--- a/TFM/Features/SFTP/SFTPOpenWithMenu.swift
+++ b/TFM/Features/SFTP/SFTPOpenWithMenu.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindApplication
import TermindPresentation
diff --git a/TFM/Features/SSHImport/SSHImportView.swift b/TFM/Features/SSHImport/SSHImportView.swift
index ee1bb83c..d4c0c950 100644
--- a/TFM/Features/SSHImport/SSHImportView.swift
+++ b/TFM/Features/SSHImport/SSHImportView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Settings/DeveloperSettingsPage.swift b/TFM/Features/Settings/DeveloperSettingsPage.swift
index 54e698e2..b4d0bd14 100644
--- a/TFM/Features/Settings/DeveloperSettingsPage.swift
+++ b/TFM/Features/Settings/DeveloperSettingsPage.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/Features/Settings/LoggingFilesSettings.swift b/TFM/Features/Settings/LoggingFilesSettings.swift
index 7d22a503..a396686c 100644
--- a/TFM/Features/Settings/LoggingFilesSettings.swift
+++ b/TFM/Features/Settings/LoggingFilesSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/Settings/MCPClientSetupCommand.swift b/TFM/Features/Settings/MCPClientSetupCommand.swift
index f1b7418d..8da2e73e 100644
--- a/TFM/Features/Settings/MCPClientSetupCommand.swift
+++ b/TFM/Features/Settings/MCPClientSetupCommand.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Presentation-only commands for registering the local server with external clients.
diff --git a/TFM/Features/Settings/MCPServerEditorSheet.swift b/TFM/Features/Settings/MCPServerEditorSheet.swift
index 74c2dc9e..644eac0e 100644
--- a/TFM/Features/Settings/MCPServerEditorSheet.swift
+++ b/TFM/Features/Settings/MCPServerEditorSheet.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/Settings/MCPServerSettings.swift b/TFM/Features/Settings/MCPServerSettings.swift
index 30e7c2b2..2d88e55f 100644
--- a/TFM/Features/Settings/MCPServerSettings.swift
+++ b/TFM/Features/Settings/MCPServerSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFM/Features/Settings/MCPSettings.swift b/TFM/Features/Settings/MCPSettings.swift
index 40304b8e..3fdecbc5 100644
--- a/TFM/Features/Settings/MCPSettings.swift
+++ b/TFM/Features/Settings/MCPSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/Settings/ModelListEditor.swift b/TFM/Features/Settings/ModelListEditor.swift
index 6134d0c2..28592909 100644
--- a/TFM/Features/Settings/ModelListEditor.swift
+++ b/TFM/Features/Settings/ModelListEditor.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/Settings/ModelProviderEditorSheet.swift b/TFM/Features/Settings/ModelProviderEditorSheet.swift
index 59c504ae..7a9eec6a 100644
--- a/TFM/Features/Settings/ModelProviderEditorSheet.swift
+++ b/TFM/Features/Settings/ModelProviderEditorSheet.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/Settings/ModelProviderSettings.swift b/TFM/Features/Settings/ModelProviderSettings.swift
index e59bcd70..c7c40b0e 100644
--- a/TFM/Features/Settings/ModelProviderSettings.swift
+++ b/TFM/Features/Settings/ModelProviderSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindDomain
diff --git a/TFM/Features/Settings/ModelRoleSettings.swift b/TFM/Features/Settings/ModelRoleSettings.swift
index b72cba50..c21e512b 100644
--- a/TFM/Features/Settings/ModelRoleSettings.swift
+++ b/TFM/Features/Settings/ModelRoleSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/Features/Settings/SettingsPageView.swift b/TFM/Features/Settings/SettingsPageView.swift
index a191ea0f..123e9373 100644
--- a/TFM/Features/Settings/SettingsPageView.swift
+++ b/TFM/Features/Settings/SettingsPageView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import GhosttyTheme
import SwiftUI
diff --git a/TFM/Features/Settings/SkillEditorSheet.swift b/TFM/Features/Settings/SkillEditorSheet.swift
index ced3fdbd..ff21ce99 100644
--- a/TFM/Features/Settings/SkillEditorSheet.swift
+++ b/TFM/Features/Settings/SkillEditorSheet.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindInfrastructure
diff --git a/TFM/Features/Settings/SkillSettings.swift b/TFM/Features/Settings/SkillSettings.swift
index 6c91c726..dd0caa56 100644
--- a/TFM/Features/Settings/SkillSettings.swift
+++ b/TFM/Features/Settings/SkillSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftUI
import TermindInfrastructure
diff --git a/TFM/Features/Settings/SyncSettings.swift b/TFM/Features/Settings/SyncSettings.swift
index f2610cae..1eb81cd8 100644
--- a/TFM/Features/Settings/SyncSettings.swift
+++ b/TFM/Features/Settings/SyncSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Settings/TerminalCustomConfigurationEditorPage.swift b/TFM/Features/Settings/TerminalCustomConfigurationEditorPage.swift
index 36c8b961..7de5c466 100644
--- a/TFM/Features/Settings/TerminalCustomConfigurationEditorPage.swift
+++ b/TFM/Features/Settings/TerminalCustomConfigurationEditorPage.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Settings/TerminalCustomThemesPage.swift b/TFM/Features/Settings/TerminalCustomThemesPage.swift
index 0dc4f5be..737e03ef 100644
--- a/TFM/Features/Settings/TerminalCustomThemesPage.swift
+++ b/TFM/Features/Settings/TerminalCustomThemesPage.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Settings/TerminalThemePage.swift b/TFM/Features/Settings/TerminalThemePage.swift
index 5a95a171..7c778c48 100644
--- a/TFM/Features/Settings/TerminalThemePage.swift
+++ b/TFM/Features/Settings/TerminalThemePage.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTheme
import SwiftUI
import TermindDomain
diff --git a/TFM/Features/Settings/TerminalThemeScheme.swift b/TFM/Features/Settings/TerminalThemeScheme.swift
index 6ce7d8af..3555c8e9 100644
--- a/TFM/Features/Settings/TerminalThemeScheme.swift
+++ b/TFM/Features/Settings/TerminalThemeScheme.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
nonisolated enum TerminalCustomConfigurationScheme: String, Identifiable, Hashable, Sendable {
diff --git a/TFM/Features/Settings/WebSearchSettings.swift b/TFM/Features/Settings/WebSearchSettings.swift
index cb74c7c5..785a5ac3 100644
--- a/TFM/Features/Settings/WebSearchSettings.swift
+++ b/TFM/Features/Settings/WebSearchSettings.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindDomain
import TermindPresentation
diff --git a/TFM/Features/Shell/WindowRoute.swift b/TFM/Features/Shell/WindowRoute.swift
index da37bca9..c002ecb9 100644
--- a/TFM/Features/Shell/WindowRoute.swift
+++ b/TFM/Features/Shell/WindowRoute.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Shell/WindowTitle.swift b/TFM/Features/Shell/WindowTitle.swift
index ce7b0b29..092db372 100644
--- a/TFM/Features/Shell/WindowTitle.swift
+++ b/TFM/Features/Shell/WindowTitle.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindPresentation
diff --git a/TFM/Features/Sidebar/WindowSidebarView.swift b/TFM/Features/Sidebar/WindowSidebarView.swift
index 5feb45ab..3a194535 100644
--- a/TFM/Features/Sidebar/WindowSidebarView.swift
+++ b/TFM/Features/Sidebar/WindowSidebarView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import ListViewKit
import SwiftUI
diff --git a/TFM/Features/Snippets/SnippetsPageView.swift b/TFM/Features/Snippets/SnippetsPageView.swift
index d99f0bd0..dfcef677 100644
--- a/TFM/Features/Snippets/SnippetsPageView.swift
+++ b/TFM/Features/Snippets/SnippetsPageView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/StatusBar/StatusBarView.swift b/TFM/Features/StatusBar/StatusBarView.swift
index 9e5c0f4b..3795bfef 100644
--- a/TFM/Features/StatusBar/StatusBarView.swift
+++ b/TFM/Features/StatusBar/StatusBarView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/StatusBar/TransferCenterPopover.swift b/TFM/Features/StatusBar/TransferCenterPopover.swift
index 30c753ac..f46472e8 100644
--- a/TFM/Features/StatusBar/TransferCenterPopover.swift
+++ b/TFM/Features/StatusBar/TransferCenterPopover.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Terminal/DesktopTerminalSurface.swift b/TFM/Features/Terminal/DesktopTerminalSurface.swift
index 4e20670b..013401c5 100644
--- a/TFM/Features/Terminal/DesktopTerminalSurface.swift
+++ b/TFM/Features/Terminal/DesktopTerminalSurface.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import GhosttyTerminal
import SwiftUI
diff --git a/TFM/Features/Terminal/PersistentTerminalSurfaceView.swift b/TFM/Features/Terminal/PersistentTerminalSurfaceView.swift
index 7a906b9c..58eb21b0 100644
--- a/TFM/Features/Terminal/PersistentTerminalSurfaceView.swift
+++ b/TFM/Features/Terminal/PersistentTerminalSurfaceView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
#if canImport(AppKit)
import AppKit
import GhosttyTerminal
diff --git a/TFM/Features/Terminal/SSHSessionModel.swift b/TFM/Features/Terminal/SSHSessionModel.swift
index 7eb3840e..16fdf40b 100644
--- a/TFM/Features/Terminal/SSHSessionModel.swift
+++ b/TFM/Features/Terminal/SSHSessionModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Combine
import Foundation
diff --git a/TFM/Features/Terminal/SerialControls.swift b/TFM/Features/Terminal/SerialControls.swift
index 2bf715a1..33fc75f7 100644
--- a/TFM/Features/Terminal/SerialControls.swift
+++ b/TFM/Features/Terminal/SerialControls.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/Features/Terminal/SerialSessionModel.swift b/TFM/Features/Terminal/SerialSessionModel.swift
index b69a41dd..2494fb1a 100644
--- a/TFM/Features/Terminal/SerialSessionModel.swift
+++ b/TFM/Features/Terminal/SerialSessionModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Combine
import GhosttyTerminal
import SwiftUI
diff --git a/TFM/Features/Terminal/TelnetSessionModel.swift b/TFM/Features/Terminal/TelnetSessionModel.swift
index 8e484882..bba45d3a 100644
--- a/TFM/Features/Terminal/TelnetSessionModel.swift
+++ b/TFM/Features/Terminal/TelnetSessionModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Combine
import GhosttyTerminal
import SwiftUI
diff --git a/TFM/Features/Terminal/TerminalPathDrag.swift b/TFM/Features/Terminal/TerminalPathDrag.swift
index dd50fb54..6de12301 100644
--- a/TFM/Features/Terminal/TerminalPathDrag.swift
+++ b/TFM/Features/Terminal/TerminalPathDrag.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindDomain
import UniformTypeIdentifiers
diff --git a/TFM/Features/Terminal/TerminalPlaceholderView.swift b/TFM/Features/Terminal/TerminalPlaceholderView.swift
index 1de92b29..0ecd61eb 100644
--- a/TFM/Features/Terminal/TerminalPlaceholderView.swift
+++ b/TFM/Features/Terminal/TerminalPlaceholderView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTerminal
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/Terminal/TerminalUploadModel.swift b/TFM/Features/Terminal/TerminalUploadModel.swift
index 45e64dc2..e287d369 100644
--- a/TFM/Features/Terminal/TerminalUploadModel.swift
+++ b/TFM/Features/Terminal/TerminalUploadModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Vault/VaultPageStates.swift b/TFM/Features/Vault/VaultPageStates.swift
index 15adf4ed..2853d317 100644
--- a/TFM/Features/Vault/VaultPageStates.swift
+++ b/TFM/Features/Vault/VaultPageStates.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
diff --git a/TFM/Features/Vault/VaultView.swift b/TFM/Features/Vault/VaultView.swift
index 11b54f97..17adc7e2 100644
--- a/TFM/Features/Vault/VaultView.swift
+++ b/TFM/Features/Vault/VaultView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// The first pinned destination's main content. Its navigator is mounted by the
diff --git a/TFM/Features/Vault/VaultWorkspaceView.swift b/TFM/Features/Vault/VaultWorkspaceView.swift
index 98edcd62..33932a88 100644
--- a/TFM/Features/Vault/VaultWorkspaceView.swift
+++ b/TFM/Features/Vault/VaultWorkspaceView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/Features/Workspaces/ClosedWorkspaceRecord.swift b/TFM/Features/Workspaces/ClosedWorkspaceRecord.swift
index 3f05d4ac..f3315801 100644
--- a/TFM/Features/Workspaces/ClosedWorkspaceRecord.swift
+++ b/TFM/Features/Workspaces/ClosedWorkspaceRecord.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Workspaces/EmptyPaneView.swift b/TFM/Features/Workspaces/EmptyPaneView.swift
index e3f27fe2..2a1e0543 100644
--- a/TFM/Features/Workspaces/EmptyPaneView.swift
+++ b/TFM/Features/Workspaces/EmptyPaneView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/Features/Workspaces/Pane.swift b/TFM/Features/Workspaces/Pane.swift
index 29f9cdb5..7dd6e0ad 100644
--- a/TFM/Features/Workspaces/Pane.swift
+++ b/TFM/Features/Workspaces/Pane.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Workspaces/PaneLayoutDropController.swift b/TFM/Features/Workspaces/PaneLayoutDropController.swift
index cb7dd80a..1e6c9c3e 100644
--- a/TFM/Features/Workspaces/PaneLayoutDropController.swift
+++ b/TFM/Features/Workspaces/PaneLayoutDropController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Resolves the live model at drag time. In particular, picking up the selected
diff --git a/TFM/Features/Workspaces/PersistentWorkspaceDeckLayout.swift b/TFM/Features/Workspaces/PersistentWorkspaceDeckLayout.swift
index cf9ccaae..b16ed835 100644
--- a/TFM/Features/Workspaces/PersistentWorkspaceDeckLayout.swift
+++ b/TFM/Features/Workspaces/PersistentWorkspaceDeckLayout.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// The identity a Workspace contributes to `PersistentWorkspaceDeckLayout`.
diff --git a/TFM/Features/Workspaces/WindowModel.swift b/TFM/Features/Workspaces/WindowModel.swift
index 22876e30..2f3946a9 100644
--- a/TFM/Features/Workspaces/WindowModel.swift
+++ b/TFM/Features/Workspaces/WindowModel.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Workspaces/WindowState.swift b/TFM/Features/Workspaces/WindowState.swift
index a044a3e1..c67ef16c 100644
--- a/TFM/Features/Workspaces/WindowState.swift
+++ b/TFM/Features/Workspaces/WindowState.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Workspaces/Workspace.swift b/TFM/Features/Workspaces/Workspace.swift
index 3236aa48..63fed646 100644
--- a/TFM/Features/Workspaces/Workspace.swift
+++ b/TFM/Features/Workspaces/Workspace.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Features/Workspaces/WorkspaceContentView.swift b/TFM/Features/Workspaces/WorkspaceContentView.swift
index 3a56f7c4..9185d044 100644
--- a/TFM/Features/Workspaces/WorkspaceContentView.swift
+++ b/TFM/Features/Workspaces/WorkspaceContentView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import GhosttyTerminal
import GlyphixTextFx
import SwiftUI
diff --git a/TFM/Features/Workspaces/WorkspaceNavigatorView.swift b/TFM/Features/Workspaces/WorkspaceNavigatorView.swift
index 77719d08..dba8af1b 100644
--- a/TFM/Features/Workspaces/WorkspaceNavigatorView.swift
+++ b/TFM/Features/Workspaces/WorkspaceNavigatorView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Features/Workspaces/WorkspaceTemplateSupport.swift b/TFM/Features/Workspaces/WorkspaceTemplateSupport.swift
index 7ff87df5..b01cd267 100644
--- a/TFM/Features/Workspaces/WorkspaceTemplateSupport.swift
+++ b/TFM/Features/Workspaces/WorkspaceTemplateSupport.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/TFM/Infrastructure/Database/ConnectionHistoryModel+SwiftData.swift b/TFM/Infrastructure/Database/ConnectionHistoryModel+SwiftData.swift
index 8eee655e..54d8363e 100644
--- a/TFM/Infrastructure/Database/ConnectionHistoryModel+SwiftData.swift
+++ b/TFM/Infrastructure/Database/ConnectionHistoryModel+SwiftData.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftData
import TermindApplication
import TermindPersistence
diff --git a/TFM/Infrastructure/MCP/MCPServerProtocol.swift b/TFM/Infrastructure/MCP/MCPServerProtocol.swift
index 265a72b3..69f9705b 100644
--- a/TFM/Infrastructure/MCP/MCPServerProtocol.swift
+++ b/TFM/Infrastructure/MCP/MCPServerProtocol.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFM/Infrastructure/MCP/MCPServerSession.swift b/TFM/Infrastructure/MCP/MCPServerSession.swift
index fb8936f1..8eff586d 100644
--- a/TFM/Infrastructure/MCP/MCPServerSession.swift
+++ b/TFM/Infrastructure/MCP/MCPServerSession.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/TFM/Infrastructure/Networking/LoopbackHTTPServer.swift b/TFM/Infrastructure/Networking/LoopbackHTTPServer.swift
index 6496cae2..dd645fd0 100644
--- a/TFM/Infrastructure/Networking/LoopbackHTTPServer.swift
+++ b/TFM/Infrastructure/Networking/LoopbackHTTPServer.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Network
import TermindDomain
diff --git a/TFM/Infrastructure/Repositories/PersistentModelFactories.swift b/TFM/Infrastructure/Repositories/PersistentModelFactories.swift
index ad765b65..103dc437 100644
--- a/TFM/Infrastructure/Repositories/PersistentModelFactories.swift
+++ b/TFM/Infrastructure/Repositories/PersistentModelFactories.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/TFM/Infrastructure/SSH/SFTPTransferCoordinator+Production.swift b/TFM/Infrastructure/SSH/SFTPTransferCoordinator+Production.swift
index b5f7c2ef..8203ad7c 100644
--- a/TFM/Infrastructure/SSH/SFTPTransferCoordinator+Production.swift
+++ b/TFM/Infrastructure/SSH/SFTPTransferCoordinator+Production.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindRemoteInfrastructure
diff --git a/TFM/Infrastructure/SSHImport/SSHImportReader+Desktop.swift b/TFM/Infrastructure/SSHImport/SSHImportReader+Desktop.swift
index cbc5c9d9..df5593bd 100644
--- a/TFM/Infrastructure/SSHImport/SSHImportReader+Desktop.swift
+++ b/TFM/Infrastructure/SSHImport/SSHImportReader+Desktop.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindRemoteInfrastructure
diff --git a/TFM/Infrastructure/Security/KeychainSecretStore+Desktop.swift b/TFM/Infrastructure/Security/KeychainSecretStore+Desktop.swift
index 84ef9f16..393554ee 100644
--- a/TFM/Infrastructure/Security/KeychainSecretStore+Desktop.swift
+++ b/TFM/Infrastructure/Security/KeychainSecretStore+Desktop.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindRemoteInfrastructure
extension KeychainSecretStore {
diff --git a/TFM/Infrastructure/Security/MCPServerTokenStore.swift b/TFM/Infrastructure/Security/MCPServerTokenStore.swift
index f6b2f752..0b5b2d93 100644
--- a/TFM/Infrastructure/Security/MCPServerTokenStore.swift
+++ b/TFM/Infrastructure/Security/MCPServerTokenStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFM/Infrastructure/Security/MCPUploadToken.swift b/TFM/Infrastructure/Security/MCPUploadToken.swift
index 479ea6c3..2347637e 100644
--- a/TFM/Infrastructure/Security/MCPUploadToken.swift
+++ b/TFM/Infrastructure/Security/MCPUploadToken.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Security
diff --git a/TFM/Infrastructure/Serial/SystemSerialPortService.swift b/TFM/Infrastructure/Serial/SystemSerialPortService.swift
index 51667d3a..5a6aabdd 100644
--- a/TFM/Infrastructure/Serial/SystemSerialPortService.swift
+++ b/TFM/Infrastructure/Serial/SystemSerialPortService.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import IOKit
diff --git a/TFM/Platform/AppAppearanceController.swift b/TFM/Platform/AppAppearanceController.swift
index 4f2fef25..6efe240b 100644
--- a/TFM/Platform/AppAppearanceController.swift
+++ b/TFM/Platform/AppAppearanceController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
/// Keeps SwiftUI, native controls, and terminal surfaces on one inherited appearance.
diff --git a/TFM/Platform/AppShortcut.swift b/TFM/Platform/AppShortcut.swift
index af41aea2..12cac6cd 100644
--- a/TFM/Platform/AppShortcut.swift
+++ b/TFM/Platform/AppShortcut.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
diff --git a/TFM/Platform/Authentication/MCPWebAuthenticationPresenter.swift b/TFM/Platform/Authentication/MCPWebAuthenticationPresenter.swift
index ed5b58bc..9d117b9d 100644
--- a/TFM/Platform/Authentication/MCPWebAuthenticationPresenter.swift
+++ b/TFM/Platform/Authentication/MCPWebAuthenticationPresenter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import AuthenticationServices
diff --git a/TFM/Platform/Authentication/SecurityKeyPresenter.swift b/TFM/Platform/Authentication/SecurityKeyPresenter.swift
index 15655a25..c9b6fe10 100644
--- a/TFM/Platform/Authentication/SecurityKeyPresenter.swift
+++ b/TFM/Platform/Authentication/SecurityKeyPresenter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import AuthenticationServices
import Foundation
diff --git a/TFM/Platform/DesktopNotificationRouter.swift b/TFM/Platform/DesktopNotificationRouter.swift
index 694e0a18..06e2c670 100644
--- a/TFM/Platform/DesktopNotificationRouter.swift
+++ b/TFM/Platform/DesktopNotificationRouter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindApplication
diff --git a/TFM/Platform/DeviceCensorship.swift b/TFM/Platform/DeviceCensorship.swift
index e669a11e..2b85fbd3 100644
--- a/TFM/Platform/DeviceCensorship.swift
+++ b/TFM/Platform/DeviceCensorship.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Foundation
diff --git a/TFM/Platform/LoginItem.swift b/TFM/Platform/LoginItem.swift
index a26dc1ea..7b055716 100644
--- a/TFM/Platform/LoginItem.swift
+++ b/TFM/Platform/LoginItem.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import ServiceManagement
import TermindPresentation
diff --git a/TFM/Platform/MacDeviceName.swift b/TFM/Platform/MacDeviceName.swift
index 79ea8782..77da1896 100644
--- a/TFM/Platform/MacDeviceName.swift
+++ b/TFM/Platform/MacDeviceName.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import DeviceKit
import Foundation
diff --git a/TFM/Platform/MacOSSpeechAudioInput.swift b/TFM/Platform/MacOSSpeechAudioInput.swift
index b5e320a9..8b7e9a02 100644
--- a/TFM/Platform/MacOSSpeechAudioInput.swift
+++ b/TFM/Platform/MacOSSpeechAudioInput.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
@preconcurrency import AVFoundation
import Foundation
import TermindApplication
diff --git a/TFM/Platform/MainWindowCoordinator.swift b/TFM/Platform/MainWindowCoordinator.swift
index c2556210..10a02446 100644
--- a/TFM/Platform/MainWindowCoordinator.swift
+++ b/TFM/Platform/MainWindowCoordinator.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindPresentation
diff --git a/TFM/Platform/MainWindowSizeStore.swift b/TFM/Platform/MainWindowSizeStore.swift
index 6b47dd49..3c8cef80 100644
--- a/TFM/Platform/MainWindowSizeStore.swift
+++ b/TFM/Platform/MainWindowSizeStore.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
/// Device-local content dimensions. A nil defaults store keeps tests and demos
diff --git a/TFM/Platform/MetricsActivityObserver.swift b/TFM/Platform/MetricsActivityObserver.swift
index 62bdc0ae..64cff4cf 100644
--- a/TFM/Platform/MetricsActivityObserver.swift
+++ b/TFM/Platform/MetricsActivityObserver.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindApplication
diff --git a/TFM/Platform/MetricsMenuBarController.swift b/TFM/Platform/MetricsMenuBarController.swift
index 1d14cd1b..45310ba4 100644
--- a/TFM/Platform/MetricsMenuBarController.swift
+++ b/TFM/Platform/MetricsMenuBarController.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFM/Platform/SFTPApplicationOpener.swift b/TFM/Platform/SFTPApplicationOpener.swift
index 2c2583c7..f0a9af35 100644
--- a/TFM/Platform/SFTPApplicationOpener.swift
+++ b/TFM/Platform/SFTPApplicationOpener.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindPresentation
import UniformTypeIdentifiers
diff --git a/TFM/Platform/SFTPLocalCopyExporter.swift b/TFM/Platform/SFTPLocalCopyExporter.swift
index 3e83c3d5..e390c652 100644
--- a/TFM/Platform/SFTPLocalCopyExporter.swift
+++ b/TFM/Platform/SFTPLocalCopyExporter.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Foundation
import TermindPresentation
diff --git a/TFM/Platform/SSHImportFilePicker.swift b/TFM/Platform/SSHImportFilePicker.swift
index 96c29717..8cb00c54 100644
--- a/TFM/Platform/SSHImportFilePicker.swift
+++ b/TFM/Platform/SSHImportFilePicker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
@MainActor
diff --git a/TFM/Platform/SheetApplicationTermination.swift b/TFM/Platform/SheetApplicationTermination.swift
index d1db6b21..c5517048 100644
--- a/TFM/Platform/SheetApplicationTermination.swift
+++ b/TFM/Platform/SheetApplicationTermination.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
diff --git a/TFM/Platform/TerminalFontCatalog.swift b/TFM/Platform/TerminalFontCatalog.swift
index bd31e2de..31a3a01f 100644
--- a/TFM/Platform/TerminalFontCatalog.swift
+++ b/TFM/Platform/TerminalFontCatalog.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Observation
diff --git a/TFM/Platform/TerminalNotificationPlatform.swift b/TFM/Platform/TerminalNotificationPlatform.swift
index c0a95cc9..7803fcc3 100644
--- a/TFM/Platform/TerminalNotificationPlatform.swift
+++ b/TFM/Platform/TerminalNotificationPlatform.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
@MainActor
diff --git a/TFM/Platform/UserInputModality.swift b/TFM/Platform/UserInputModality.swift
index 0a6aadbc..305d9cc2 100644
--- a/TFM/Platform/UserInputModality.swift
+++ b/TFM/Platform/UserInputModality.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Observation
import SwiftUI
diff --git a/TFM/Platform/WorkspaceCloseConfirmation.swift b/TFM/Platform/WorkspaceCloseConfirmation.swift
index 7e9bbd0f..d5a21c9c 100644
--- a/TFM/Platform/WorkspaceCloseConfirmation.swift
+++ b/TFM/Platform/WorkspaceCloseConfirmation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindPresentation
diff --git a/TFM/UI/Components/ChromeComponents.swift b/TFM/UI/Components/ChromeComponents.swift
index 95748264..7d2a8f61 100644
--- a/TFM/UI/Components/ChromeComponents.swift
+++ b/TFM/UI/Components/ChromeComponents.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/UI/Components/ConnectionJourneyView.swift b/TFM/UI/Components/ConnectionJourneyView.swift
index 3499a031..3739715d 100644
--- a/TFM/UI/Components/ConnectionJourneyView.swift
+++ b/TFM/UI/Components/ConnectionJourneyView.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFM/UI/Components/FileURLDropTarget.swift b/TFM/UI/Components/FileURLDropTarget.swift
index b697ae14..4dbfaf23 100644
--- a/TFM/UI/Components/FileURLDropTarget.swift
+++ b/TFM/UI/Components/FileURLDropTarget.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import UniformTypeIdentifiers
diff --git a/TFM/UI/Components/HostingListRow.swift b/TFM/UI/Components/HostingListRow.swift
index 78dfc5bb..c084e851 100644
--- a/TFM/UI/Components/HostingListRow.swift
+++ b/TFM/UI/Components/HostingListRow.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import ListViewKit
import SwiftUI
diff --git a/TFM/UI/Components/ItemDragPreview.swift b/TFM/UI/Components/ItemDragPreview.swift
index 9be3e181..f23eaf08 100644
--- a/TFM/UI/Components/ItemDragPreview.swift
+++ b/TFM/UI/Components/ItemDragPreview.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
/// A compact identity chip shared by sidebar items and workspace panes.
diff --git a/TFM/UI/Components/ManagedChooser.swift b/TFM/UI/Components/ManagedChooser.swift
index 9f65c14b..e5d5704d 100644
--- a/TFM/UI/Components/ManagedChooser.swift
+++ b/TFM/UI/Components/ManagedChooser.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
enum ManagedChooserMode: Sendable {
diff --git a/TFM/UI/Components/NativeContextMenu.swift b/TFM/UI/Components/NativeContextMenu.swift
index 54b9931d..c42daac3 100644
--- a/TFM/UI/Components/NativeContextMenu.swift
+++ b/TFM/UI/Components/NativeContextMenu.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFM/UI/Components/OnboardingCoachMark.swift b/TFM/UI/Components/OnboardingCoachMark.swift
index fdc9b6ef..4a9e5dd5 100644
--- a/TFM/UI/Components/OnboardingCoachMark.swift
+++ b/TFM/UI/Components/OnboardingCoachMark.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/UI/Components/SidebarRow.swift b/TFM/UI/Components/SidebarRow.swift
index 6eafff36..e7a11b4a 100644
--- a/TFM/UI/Components/SidebarRow.swift
+++ b/TFM/UI/Components/SidebarRow.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindPresentation
diff --git a/TFM/UI/Components/SingleLineFieldEditing.swift b/TFM/UI/Components/SingleLineFieldEditing.swift
index e346f197..1a553bff 100644
--- a/TFM/UI/Components/SingleLineFieldEditing.swift
+++ b/TFM/UI/Components/SingleLineFieldEditing.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindPresentation
diff --git a/TFM/UI/Components/TranscriptProminentButtonStyle.swift b/TFM/UI/Components/TranscriptProminentButtonStyle.swift
index ee2ec714..21b7dcd5 100644
--- a/TFM/UI/Components/TranscriptProminentButtonStyle.swift
+++ b/TFM/UI/Components/TranscriptProminentButtonStyle.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
private struct TranscriptProminentButtonModifier: ViewModifier {
diff --git a/TFM/UI/Components/WindowToolbar.swift b/TFM/UI/Components/WindowToolbar.swift
index 4f7c87ea..7749adad 100644
--- a/TFM/UI/Components/WindowToolbar.swift
+++ b/TFM/UI/Components/WindowToolbar.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFM/UI/Components/WorkspaceDragCancellationTracker.swift b/TFM/UI/Components/WorkspaceDragCancellationTracker.swift
index 60adbcf7..db85de11 100644
--- a/TFM/UI/Components/WorkspaceDragCancellationTracker.swift
+++ b/TFM/UI/Components/WorkspaceDragCancellationTracker.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
/// Observes cancellation without participating in the native List's gesture
diff --git a/TFM/UI/Components/WorkspaceLayoutDragSource.swift b/TFM/UI/Components/WorkspaceLayoutDragSource.swift
index 349fe7de..4e61f6b4 100644
--- a/TFM/UI/Components/WorkspaceLayoutDragSource.swift
+++ b/TFM/UI/Components/WorkspaceLayoutDragSource.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
diff --git a/TFM/UI/Components/WorkspaceLayoutDropTarget.swift b/TFM/UI/Components/WorkspaceLayoutDropTarget.swift
index 546ce930..d9d65f08 100644
--- a/TFM/UI/Components/WorkspaceLayoutDropTarget.swift
+++ b/TFM/UI/Components/WorkspaceLayoutDropTarget.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
diff --git a/TFM/UI/Components/WorkspaceNavigatorDragAnimation.swift b/TFM/UI/Components/WorkspaceNavigatorDragAnimation.swift
index b1808da3..b9a57fcc 100644
--- a/TFM/UI/Components/WorkspaceNavigatorDragAnimation.swift
+++ b/TFM/UI/Components/WorkspaceNavigatorDragAnimation.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
diff --git a/TFM/UI/Managed/CardGrid.swift b/TFM/UI/Managed/CardGrid.swift
index 48bca61b..ad2d4b26 100644
--- a/TFM/UI/Managed/CardGrid.swift
+++ b/TFM/UI/Managed/CardGrid.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
diff --git a/TFM/UI/Managed/ManagedCardPage.swift b/TFM/UI/Managed/ManagedCardPage.swift
index 2e759c8e..bf91010f 100644
--- a/TFM/UI/Managed/ManagedCardPage.swift
+++ b/TFM/UI/Managed/ManagedCardPage.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindPresentation
import UniformTypeIdentifiers
diff --git a/TFMTests/AIProviderPersistenceTests.swift b/TFMTests/AIProviderPersistenceTests.swift
index fa4850ef..32d41ba5 100644
--- a/TFMTests/AIProviderPersistenceTests.swift
+++ b/TFMTests/AIProviderPersistenceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/TFMTests/AgentApprovalQueueTests.swift b/TFMTests/AgentApprovalQueueTests.swift
index de842de3..45f90cfe 100644
--- a/TFMTests/AgentApprovalQueueTests.swift
+++ b/TFMTests/AgentApprovalQueueTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Observation
diff --git a/TFMTests/AgentBackgroundCommandTests.swift b/TFMTests/AgentBackgroundCommandTests.swift
index 7a144b8a..ceab167f 100644
--- a/TFMTests/AgentBackgroundCommandTests.swift
+++ b/TFMTests/AgentBackgroundCommandTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentBuiltInToolAvailabilityTests.swift b/TFMTests/AgentBuiltInToolAvailabilityTests.swift
index 0fb0f280..825b02cb 100644
--- a/TFMTests/AgentBuiltInToolAvailabilityTests.swift
+++ b/TFMTests/AgentBuiltInToolAvailabilityTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AgentKitScrubber
import Foundation
diff --git a/TFMTests/AgentCompactionTests.swift b/TFMTests/AgentCompactionTests.swift
index f1c35099..1382d094 100644
--- a/TFMTests/AgentCompactionTests.swift
+++ b/TFMTests/AgentCompactionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentConnectionPoolTests.swift b/TFMTests/AgentConnectionPoolTests.swift
index d9098bdf..00f412bb 100644
--- a/TFMTests/AgentConnectionPoolTests.swift
+++ b/TFMTests/AgentConnectionPoolTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentHostAuthenticationTests.swift b/TFMTests/AgentHostAuthenticationTests.swift
index 5d5e58a0..84a8eb8b 100644
--- a/TFMTests/AgentHostAuthenticationTests.swift
+++ b/TFMTests/AgentHostAuthenticationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import CryptoKit
import Foundation
diff --git a/TFMTests/AgentHostProtocolListingTests.swift b/TFMTests/AgentHostProtocolListingTests.swift
index ab69e707..95713606 100644
--- a/TFMTests/AgentHostProtocolListingTests.swift
+++ b/TFMTests/AgentHostProtocolListingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentInterruptedRunRecoveryTests.swift b/TFMTests/AgentInterruptedRunRecoveryTests.swift
index 6366a49b..21ecbe0a 100644
--- a/TFMTests/AgentInterruptedRunRecoveryTests.swift
+++ b/TFMTests/AgentInterruptedRunRecoveryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/TFMTests/AgentKnowledgeToolPresentationTests.swift b/TFMTests/AgentKnowledgeToolPresentationTests.swift
index 3bc8a077..e65a690d 100644
--- a/TFMTests/AgentKnowledgeToolPresentationTests.swift
+++ b/TFMTests/AgentKnowledgeToolPresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentOriginRenderingTests.swift b/TFMTests/AgentOriginRenderingTests.swift
index 653f9c9c..4e4d96f9 100644
--- a/TFMTests/AgentOriginRenderingTests.swift
+++ b/TFMTests/AgentOriginRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import Foundation
diff --git a/TFMTests/AgentPaneToolsTests.swift b/TFMTests/AgentPaneToolsTests.swift
index 878251f9..d738401c 100644
--- a/TFMTests/AgentPaneToolsTests.swift
+++ b/TFMTests/AgentPaneToolsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentPersistenceTests.swift b/TFMTests/AgentPersistenceTests.swift
index 982e8225..9cecfbbf 100644
--- a/TFMTests/AgentPersistenceTests.swift
+++ b/TFMTests/AgentPersistenceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/TFMTests/AgentPlanModeTests.swift b/TFMTests/AgentPlanModeTests.swift
index c86b29da..c62efe11 100644
--- a/TFMTests/AgentPlanModeTests.swift
+++ b/TFMTests/AgentPlanModeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentScratchTests.swift b/TFMTests/AgentScratchTests.swift
index 59af2439..6a8a97d2 100644
--- a/TFMTests/AgentScratchTests.swift
+++ b/TFMTests/AgentScratchTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AgentKitScrubber
import Foundation
diff --git a/TFMTests/AgentSecretTestSupport.swift b/TFMTests/AgentSecretTestSupport.swift
index 2e64705c..31dc7cfd 100644
--- a/TFMTests/AgentSecretTestSupport.swift
+++ b/TFMTests/AgentSecretTestSupport.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
diff --git a/TFMTests/AgentSkillTests.swift b/TFMTests/AgentSkillTests.swift
index 03b41c7f..82a7b04b 100644
--- a/TFMTests/AgentSkillTests.swift
+++ b/TFMTests/AgentSkillTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/TFMTests/AgentTokenUsageTests.swift b/TFMTests/AgentTokenUsageTests.swift
index b6595cab..53240643 100644
--- a/TFMTests/AgentTokenUsageTests.swift
+++ b/TFMTests/AgentTokenUsageTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentToolPresentationProfileTests.swift b/TFMTests/AgentToolPresentationProfileTests.swift
index ecb576ea..4fa83c02 100644
--- a/TFMTests/AgentToolPresentationProfileTests.swift
+++ b/TFMTests/AgentToolPresentationProfileTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentToolPresentationTests.swift b/TFMTests/AgentToolPresentationTests.swift
index ab75d34a..ad217587 100644
--- a/TFMTests/AgentToolPresentationTests.swift
+++ b/TFMTests/AgentToolPresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AgentToolProgressTests.swift b/TFMTests/AgentToolProgressTests.swift
index 42fd44d0..8e6d7a21 100644
--- a/TFMTests/AgentToolProgressTests.swift
+++ b/TFMTests/AgentToolProgressTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AppAppearanceTests.swift b/TFMTests/AppAppearanceTests.swift
index 7cc393dc..7bf4776c 100644
--- a/TFMTests/AppAppearanceTests.swift
+++ b/TFMTests/AppAppearanceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Testing
diff --git a/TFMTests/AppLanguageTests.swift b/TFMTests/AppLanguageTests.swift
index 785999d4..95267166 100644
--- a/TFMTests/AppLanguageTests.swift
+++ b/TFMTests/AppLanguageTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/AppReviewControllerTests.swift b/TFMTests/AppReviewControllerTests.swift
index d7a6babc..76a073ac 100644
--- a/TFMTests/AppReviewControllerTests.swift
+++ b/TFMTests/AppReviewControllerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/AppTerminationTests.swift b/TFMTests/AppTerminationTests.swift
index 424ab984..d6443064 100644
--- a/TFMTests/AppTerminationTests.swift
+++ b/TFMTests/AppTerminationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AppTestHostTests.swift b/TFMTests/AppTestHostTests.swift
index 06b8876b..c62cb60e 100644
--- a/TFMTests/AppTestHostTests.swift
+++ b/TFMTests/AppTestHostTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Testing
diff --git a/TFMTests/ArchitectureBoundaryTests.swift b/TFMTests/ArchitectureBoundaryTests.swift
index 1c091ae5..061cc13a 100644
--- a/TFMTests/ArchitectureBoundaryTests.swift
+++ b/TFMTests/ArchitectureBoundaryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFMTests/AssistantConversationListDropTests.swift b/TFMTests/AssistantConversationListDropTests.swift
index d5a47bbe..08eb9c5c 100644
--- a/TFMTests/AssistantConversationListDropTests.swift
+++ b/TFMTests/AssistantConversationListDropTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
#if canImport(AppKit)
diff --git a/TFMTests/AssistantConversationMenuTests.swift b/TFMTests/AssistantConversationMenuTests.swift
index 5c06b3de..eccdecc9 100644
--- a/TFMTests/AssistantConversationMenuTests.swift
+++ b/TFMTests/AssistantConversationMenuTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import TermindApplication
import TermindDomain
diff --git a/TFMTests/AssistantModelSelectionPersistenceTests.swift b/TFMTests/AssistantModelSelectionPersistenceTests.swift
index be159de2..5f12bb24 100644
--- a/TFMTests/AssistantModelSelectionPersistenceTests.swift
+++ b/TFMTests/AssistantModelSelectionPersistenceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import SwiftData
diff --git a/TFMTests/AssistantSearchTests.swift b/TFMTests/AssistantSearchTests.swift
index 7eadb9f1..f26b25d3 100644
--- a/TFMTests/AssistantSearchTests.swift
+++ b/TFMTests/AssistantSearchTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/AuthorizedKeyExportTests.swift b/TFMTests/AuthorizedKeyExportTests.swift
index 2a1a98da..6df3c805 100644
--- a/TFMTests/AuthorizedKeyExportTests.swift
+++ b/TFMTests/AuthorizedKeyExportTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/BroadcastInputTests.swift b/TFMTests/BroadcastInputTests.swift
index bfc1a32c..6b3bd2d1 100644
--- a/TFMTests/BroadcastInputTests.swift
+++ b/TFMTests/BroadcastInputTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/CardMarqueeSelectionTests.swift b/TFMTests/CardMarqueeSelectionTests.swift
index 0377eb58..daffcb66 100644
--- a/TFMTests/CardMarqueeSelectionTests.swift
+++ b/TFMTests/CardMarqueeSelectionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindPresentation
diff --git a/TFMTests/ChatComposerStateTests.swift b/TFMTests/ChatComposerStateTests.swift
index 061a961e..a2436d57 100644
--- a/TFMTests/ChatComposerStateTests.swift
+++ b/TFMTests/ChatComposerStateTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import Foundation
diff --git a/TFMTests/ChatSlashCommandTests.swift b/TFMTests/ChatSlashCommandTests.swift
index 89427ee8..6f8a09f4 100644
--- a/TFMTests/ChatSlashCommandTests.swift
+++ b/TFMTests/ChatSlashCommandTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/ChooserInteractionTests.swift b/TFMTests/ChooserInteractionTests.swift
index 0b1d3b3c..f483cfaa 100644
--- a/TFMTests/ChooserInteractionTests.swift
+++ b/TFMTests/ChooserInteractionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/ClosedWorkspaceRestoreTests.swift b/TFMTests/ClosedWorkspaceRestoreTests.swift
index 8c39dc04..02b9ed3d 100644
--- a/TFMTests/ClosedWorkspaceRestoreTests.swift
+++ b/TFMTests/ClosedWorkspaceRestoreTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Foundation
import TermindApplication
diff --git a/TFMTests/ColorTagPickerInteractionTests.swift b/TFMTests/ColorTagPickerInteractionTests.swift
index 687b376c..6f8c4422 100644
--- a/TFMTests/ColorTagPickerInteractionTests.swift
+++ b/TFMTests/ColorTagPickerInteractionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Observation
import SwiftUI
diff --git a/TFMTests/CommandHistoryTests.swift b/TFMTests/CommandHistoryTests.swift
index bf687841..32dffa8d 100644
--- a/TFMTests/CommandHistoryTests.swift
+++ b/TFMTests/CommandHistoryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/TFMTests/CommandNotificationRenderingTests.swift b/TFMTests/CommandNotificationRenderingTests.swift
index 19b68f08..5a9b3ab1 100644
--- a/TFMTests/CommandNotificationRenderingTests.swift
+++ b/TFMTests/CommandNotificationRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindApplication
import TermindDomain
diff --git a/TFMTests/CommandNotificationTests.swift b/TFMTests/CommandNotificationTests.swift
index d2146b07..df0dadb6 100644
--- a/TFMTests/CommandNotificationTests.swift
+++ b/TFMTests/CommandNotificationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import GhosttyTerminal
import TermindApplication
diff --git a/TFMTests/ConnectionHistoryTests.swift b/TFMTests/ConnectionHistoryTests.swift
index c233c2c4..a226fc9c 100644
--- a/TFMTests/ConnectionHistoryTests.swift
+++ b/TFMTests/ConnectionHistoryTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Foundation
import SwiftData
diff --git a/TFMTests/ConnectionJourneyTests.swift b/TFMTests/ConnectionJourneyTests.swift
index bf25317c..ea7f629f 100644
--- a/TFMTests/ConnectionJourneyTests.swift
+++ b/TFMTests/ConnectionJourneyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/ContextAttachmentImporterTests.swift b/TFMTests/ContextAttachmentImporterTests.swift
index 0cb01809..16ab4166 100644
--- a/TFMTests/ContextAttachmentImporterTests.swift
+++ b/TFMTests/ContextAttachmentImporterTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import Foundation
diff --git a/TFMTests/DatabaseStartupGuardTests.swift b/TFMTests/DatabaseStartupGuardTests.swift
index cb78d473..16d4542d 100644
--- a/TFMTests/DatabaseStartupGuardTests.swift
+++ b/TFMTests/DatabaseStartupGuardTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindPersistence
import Testing
diff --git a/TFMTests/DeferredKeyMaterialTests.swift b/TFMTests/DeferredKeyMaterialTests.swift
index 47b3f86e..e6c69ecf 100644
--- a/TFMTests/DeferredKeyMaterialTests.swift
+++ b/TFMTests/DeferredKeyMaterialTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/DesktopAuthenticationSubmissionTests.swift b/TFMTests/DesktopAuthenticationSubmissionTests.swift
index 59aa3963..4ef1f1fd 100644
--- a/TFMTests/DesktopAuthenticationSubmissionTests.swift
+++ b/TFMTests/DesktopAuthenticationSubmissionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/DockMenuTests.swift b/TFMTests/DockMenuTests.swift
index ab709a50..81d6d52a 100644
--- a/TFMTests/DockMenuTests.swift
+++ b/TFMTests/DockMenuTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindApplication
import TermindDomain
diff --git a/TFMTests/DraggingInfoStub.swift b/TFMTests/DraggingInfoStub.swift
index 319363bb..66eef706 100644
--- a/TFMTests/DraggingInfoStub.swift
+++ b/TFMTests/DraggingInfoStub.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
/// Exercises AppKit destination callbacks with a test-owned pasteboard.
diff --git a/TFMTests/ExternalConnectionURLTests.swift b/TFMTests/ExternalConnectionURLTests.swift
index 3f66cf67..4b44d511 100644
--- a/TFMTests/ExternalConnectionURLTests.swift
+++ b/TFMTests/ExternalConnectionURLTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import Testing
diff --git a/TFMTests/ExternalRequestTests.swift b/TFMTests/ExternalRequestTests.swift
index 6fc47faf..0393f057 100644
--- a/TFMTests/ExternalRequestTests.swift
+++ b/TFMTests/ExternalRequestTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import Foundation
diff --git a/TFMTests/FileURLDropTargetTests.swift b/TFMTests/FileURLDropTargetTests.swift
index ccc0acf7..2b785792 100644
--- a/TFMTests/FileURLDropTargetTests.swift
+++ b/TFMTests/FileURLDropTargetTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import TermindDomain
import TermindPresentation
diff --git a/TFMTests/GetMetricsToolTests.swift b/TFMTests/GetMetricsToolTests.swift
index db8e7d06..fc8a6482 100644
--- a/TFMTests/GetMetricsToolTests.swift
+++ b/TFMTests/GetMetricsToolTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/HistoryMenuTests.swift b/TFMTests/HistoryMenuTests.swift
index 74bd4d7a..742b832c 100644
--- a/TFMTests/HistoryMenuTests.swift
+++ b/TFMTests/HistoryMenuTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/HostAdmissionTests.swift b/TFMTests/HostAdmissionTests.swift
index b7b6e64f..0d42e6f9 100644
--- a/TFMTests/HostAdmissionTests.swift
+++ b/TFMTests/HostAdmissionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/HostIconPresentationTests.swift b/TFMTests/HostIconPresentationTests.swift
index fc23f89f..ea5e5ddd 100644
--- a/TFMTests/HostIconPresentationTests.swift
+++ b/TFMTests/HostIconPresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/HostLibraryMoveTests.swift b/TFMTests/HostLibraryMoveTests.swift
index 3eac30d5..21806e57 100644
--- a/TFMTests/HostLibraryMoveTests.swift
+++ b/TFMTests/HostLibraryMoveTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/HostShellIntegrationSessionTests.swift b/TFMTests/HostShellIntegrationSessionTests.swift
index ef5a849d..a0c1788e 100644
--- a/TFMTests/HostShellIntegrationSessionTests.swift
+++ b/TFMTests/HostShellIntegrationSessionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/IdentityCredentialTests.swift b/TFMTests/IdentityCredentialTests.swift
index 976e6fb6..7957b67d 100644
--- a/TFMTests/IdentityCredentialTests.swift
+++ b/TFMTests/IdentityCredentialTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/KeyPassphraseEnvelopeTests.swift b/TFMTests/KeyPassphraseEnvelopeTests.swift
index 118973b2..6befd50f 100644
--- a/TFMTests/KeyPassphraseEnvelopeTests.swift
+++ b/TFMTests/KeyPassphraseEnvelopeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFMTests/KeychainOrderTests.swift b/TFMTests/KeychainOrderTests.swift
index 96047f19..8d2fba71 100644
--- a/TFMTests/KeychainOrderTests.swift
+++ b/TFMTests/KeychainOrderTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/TFMTests/LocalModelConfiguration.swift b/TFMTests/LocalModelConfiguration.swift
index 7387f45e..d80cb9dc 100644
--- a/TFMTests/LocalModelConfiguration.swift
+++ b/TFMTests/LocalModelConfiguration.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/TFMTests/LoginItemTests.swift b/TFMTests/LoginItemTests.swift
index 4024c8d4..b98a65be 100644
--- a/TFMTests/LoginItemTests.swift
+++ b/TFMTests/LoginItemTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Foundation
import ServiceManagement
diff --git a/TFMTests/LoopbackHTTPServerTests.swift b/TFMTests/LoopbackHTTPServerTests.swift
index 86b28196..358e787f 100644
--- a/TFMTests/LoopbackHTTPServerTests.swift
+++ b/TFMTests/LoopbackHTTPServerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import Testing
diff --git a/TFMTests/MCPAuthorizationKeychainTests.swift b/TFMTests/MCPAuthorizationKeychainTests.swift
index ddfb8b2f..36db02e9 100644
--- a/TFMTests/MCPAuthorizationKeychainTests.swift
+++ b/TFMTests/MCPAuthorizationKeychainTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Security
diff --git a/TFMTests/MCPClientSetupCommandTests.swift b/TFMTests/MCPClientSetupCommandTests.swift
index 4274dc29..c0a606a8 100644
--- a/TFMTests/MCPClientSetupCommandTests.swift
+++ b/TFMTests/MCPClientSetupCommandTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import Testing
diff --git a/TFMTests/MCPDownloadTests.swift b/TFMTests/MCPDownloadTests.swift
index 6b80f7a6..b1bd8779 100644
--- a/TFMTests/MCPDownloadTests.swift
+++ b/TFMTests/MCPDownloadTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import CryptoKit
import Foundation
diff --git a/TFMTests/MCPServerSessionTests.swift b/TFMTests/MCPServerSessionTests.swift
index 3730f280..65085eda 100644
--- a/TFMTests/MCPServerSessionTests.swift
+++ b/TFMTests/MCPServerSessionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/MCPServerTokenStoreTests.swift b/TFMTests/MCPServerTokenStoreTests.swift
index c97467f2..e079f48d 100644
--- a/TFMTests/MCPServerTokenStoreTests.swift
+++ b/TFMTests/MCPServerTokenStoreTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/MCPServerToolsTests.swift b/TFMTests/MCPServerToolsTests.swift
index f183d911..455d8e49 100644
--- a/TFMTests/MCPServerToolsTests.swift
+++ b/TFMTests/MCPServerToolsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/MCPTransferTicketTests.swift b/TFMTests/MCPTransferTicketTests.swift
index 1b90f02c..30cd4af2 100644
--- a/TFMTests/MCPTransferTicketTests.swift
+++ b/TFMTests/MCPTransferTicketTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Testing
diff --git a/TFMTests/MCPUploadTests.swift b/TFMTests/MCPUploadTests.swift
index e7861ca1..552ebdfa 100644
--- a/TFMTests/MCPUploadTests.swift
+++ b/TFMTests/MCPUploadTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import CryptoKit
import Darwin
diff --git a/TFMTests/MCPWebAuthenticationPresenterTests.swift b/TFMTests/MCPWebAuthenticationPresenterTests.swift
index 793e54e7..4d13db86 100644
--- a/TFMTests/MCPWebAuthenticationPresenterTests.swift
+++ b/TFMTests/MCPWebAuthenticationPresenterTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AuthenticationServices
import Foundation
diff --git a/TFMTests/MacDeviceNameTests.swift b/TFMTests/MacDeviceNameTests.swift
index a42485c8..f7d0f2f3 100644
--- a/TFMTests/MacDeviceNameTests.swift
+++ b/TFMTests/MacDeviceNameTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFMTests/MainWindowSizingTests.swift b/TFMTests/MainWindowSizingTests.swift
index d083f16d..55304426 100644
--- a/TFMTests/MainWindowSizingTests.swift
+++ b/TFMTests/MainWindowSizingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftData
import SwiftUI
diff --git a/TFMTests/ManagedChooserTests.swift b/TFMTests/ManagedChooserTests.swift
index 6eb00036..c0901d36 100644
--- a/TFMTests/ManagedChooserTests.swift
+++ b/TFMTests/ManagedChooserTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Testing
@testable import Termind
diff --git a/TFMTests/MarkdownParsingTests.swift b/TFMTests/MarkdownParsingTests.swift
index c42e983f..77e99ad8 100644
--- a/TFMTests/MarkdownParsingTests.swift
+++ b/TFMTests/MarkdownParsingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Foundation
import TermindApplication
diff --git a/TFMTests/MetricsActivityObserverTests.swift b/TFMTests/MetricsActivityObserverTests.swift
index f70af547..2f5beb6c 100644
--- a/TFMTests/MetricsActivityObserverTests.swift
+++ b/TFMTests/MetricsActivityObserverTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import TermindDomain
import Testing
diff --git a/TFMTests/MetricsDetailToolbarTests.swift b/TFMTests/MetricsDetailToolbarTests.swift
index 3e89e553..4bb601d7 100644
--- a/TFMTests/MetricsDetailToolbarTests.swift
+++ b/TFMTests/MetricsDetailToolbarTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftData
import SwiftUI
diff --git a/TFMTests/MetricsInteractionTests.swift b/TFMTests/MetricsInteractionTests.swift
index 8914061a..86689557 100644
--- a/TFMTests/MetricsInteractionTests.swift
+++ b/TFMTests/MetricsInteractionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Foundation
import SwiftUI
diff --git a/TFMTests/MetricsJourneyRenderingTests.swift b/TFMTests/MetricsJourneyRenderingTests.swift
index 958fe69f..06248309 100644
--- a/TFMTests/MetricsJourneyRenderingTests.swift
+++ b/TFMTests/MetricsJourneyRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/MetricsLimitTests.swift b/TFMTests/MetricsLimitTests.swift
index 7844442f..a89fd3bf 100644
--- a/TFMTests/MetricsLimitTests.swift
+++ b/TFMTests/MetricsLimitTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/MetricsMenuNavigationTests.swift b/TFMTests/MetricsMenuNavigationTests.swift
index c7fd920c..97fd1155 100644
--- a/TFMTests/MetricsMenuNavigationTests.swift
+++ b/TFMTests/MetricsMenuNavigationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/MetricsSnapshotTests.swift b/TFMTests/MetricsSnapshotTests.swift
index 4d572bbe..9d1356e2 100644
--- a/TFMTests/MetricsSnapshotTests.swift
+++ b/TFMTests/MetricsSnapshotTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/ModelProviderRenderingTests.swift b/TFMTests/ModelProviderRenderingTests.swift
index f716cc9f..8cfdb72a 100644
--- a/TFMTests/ModelProviderRenderingTests.swift
+++ b/TFMTests/ModelProviderRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import TermindApplication
import TermindDomain
diff --git a/TFMTests/MultiWindowTests.swift b/TFMTests/MultiWindowTests.swift
index 06c7c69a..6b8f6388 100644
--- a/TFMTests/MultiWindowTests.swift
+++ b/TFMTests/MultiWindowTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindApplication
import TermindDomain
diff --git a/TFMTests/NativeMultiplexerRuntimeTests.swift b/TFMTests/NativeMultiplexerRuntimeTests.swift
index 6e1ff6a2..3d9a7576 100644
--- a/TFMTests/NativeMultiplexerRuntimeTests.swift
+++ b/TFMTests/NativeMultiplexerRuntimeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/OnboardingControllerTests.swift b/TFMTests/OnboardingControllerTests.swift
index 55a9b10d..ad0b9300 100644
--- a/TFMTests/OnboardingControllerTests.swift
+++ b/TFMTests/OnboardingControllerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindPresentation
diff --git a/TFMTests/PersistentWorkspaceDeckLayoutTests.swift b/TFMTests/PersistentWorkspaceDeckLayoutTests.swift
index 6c4885c9..75fdaa36 100644
--- a/TFMTests/PersistentWorkspaceDeckLayoutTests.swift
+++ b/TFMTests/PersistentWorkspaceDeckLayoutTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFMTests/PortForwardingEditorTests.swift b/TFMTests/PortForwardingEditorTests.swift
index 02028c8e..16137c0d 100644
--- a/TFMTests/PortForwardingEditorTests.swift
+++ b/TFMTests/PortForwardingEditorTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/PortForwardingFeatureTests.swift b/TFMTests/PortForwardingFeatureTests.swift
index 327137ea..d65b338c 100644
--- a/TFMTests/PortForwardingFeatureTests.swift
+++ b/TFMTests/PortForwardingFeatureTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/TFMTests/PortForwardingJourneyTests.swift b/TFMTests/PortForwardingJourneyTests.swift
index 7e0d9fa9..2e808f04 100644
--- a/TFMTests/PortForwardingJourneyTests.swift
+++ b/TFMTests/PortForwardingJourneyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/PortForwardingReconnectTests.swift b/TFMTests/PortForwardingReconnectTests.swift
index 495003b7..927a810f 100644
--- a/TFMTests/PortForwardingReconnectTests.swift
+++ b/TFMTests/PortForwardingReconnectTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/PortForwardingRenderingTests.swift b/TFMTests/PortForwardingRenderingTests.swift
index 519ab4ee..fb7db7df 100644
--- a/TFMTests/PortForwardingRenderingTests.swift
+++ b/TFMTests/PortForwardingRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/PresentationCopyTests.swift b/TFMTests/PresentationCopyTests.swift
index 09b8352f..e342b179 100644
--- a/TFMTests/PresentationCopyTests.swift
+++ b/TFMTests/PresentationCopyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/TFMTests/ProAccessTests.swift b/TFMTests/ProAccessTests.swift
index fe3979c4..f279fe8f 100644
--- a/TFMTests/ProAccessTests.swift
+++ b/TFMTests/ProAccessTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindInfrastructure
diff --git a/TFMTests/ProviderEndpointIntegrationTests.swift b/TFMTests/ProviderEndpointIntegrationTests.swift
index e91464e0..7d59d81f 100644
--- a/TFMTests/ProviderEndpointIntegrationTests.swift
+++ b/TFMTests/ProviderEndpointIntegrationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import SwiftData
import TermindApplication
diff --git a/TFMTests/QuickConnectTests.swift b/TFMTests/QuickConnectTests.swift
index 71483e7b..5ae62cd6 100644
--- a/TFMTests/QuickConnectTests.swift
+++ b/TFMTests/QuickConnectTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/QuickOpenTests.swift b/TFMTests/QuickOpenTests.swift
index 9a72a1df..474e3d5d 100644
--- a/TFMTests/QuickOpenTests.swift
+++ b/TFMTests/QuickOpenTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/ReferenceDropLoaderTests.swift b/TFMTests/ReferenceDropLoaderTests.swift
index 4ec8ac13..5dbbeb6d 100644
--- a/TFMTests/ReferenceDropLoaderTests.swift
+++ b/TFMTests/ReferenceDropLoaderTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindPresentation
import Testing
diff --git a/TFMTests/RemoteMultiplexerSmokeTests.swift b/TFMTests/RemoteMultiplexerSmokeTests.swift
index 199d6d8c..c67de951 100644
--- a/TFMTests/RemoteMultiplexerSmokeTests.swift
+++ b/TFMTests/RemoteMultiplexerSmokeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/RemoteOutputToolPresentationTests.swift b/TFMTests/RemoteOutputToolPresentationTests.swift
index 80de4d4a..952b193a 100644
--- a/TFMTests/RemoteOutputToolPresentationTests.swift
+++ b/TFMTests/RemoteOutputToolPresentationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import Foundation
diff --git a/TFMTests/RemoteSessionAuthenticationContinuationTests.swift b/TFMTests/RemoteSessionAuthenticationContinuationTests.swift
index e5e22d6c..ebe87e5a 100644
--- a/TFMTests/RemoteSessionAuthenticationContinuationTests.swift
+++ b/TFMTests/RemoteSessionAuthenticationContinuationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/RemoteSessionConnectionControllerTests.swift b/TFMTests/RemoteSessionConnectionControllerTests.swift
index b9f3731b..226d2140 100644
--- a/TFMTests/RemoteSessionConnectionControllerTests.swift
+++ b/TFMTests/RemoteSessionConnectionControllerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/RemoteSessionWireTests.swift b/TFMTests/RemoteSessionWireTests.swift
index 09a238f7..0e219599 100644
--- a/TFMTests/RemoteSessionWireTests.swift
+++ b/TFMTests/RemoteSessionWireTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/RepositoryOutboxTests.swift b/TFMTests/RepositoryOutboxTests.swift
index b9ed7954..571e07d7 100644
--- a/TFMTests/RepositoryOutboxTests.swift
+++ b/TFMTests/RepositoryOutboxTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/TFMTests/ResponsivePageLayoutTests.swift b/TFMTests/ResponsivePageLayoutTests.swift
index 81ddcc67..8460d870 100644
--- a/TFMTests/ResponsivePageLayoutTests.swift
+++ b/TFMTests/ResponsivePageLayoutTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/RuntimeVersionsTests.swift b/TFMTests/RuntimeVersionsTests.swift
index cfd423c5..679e3b53 100644
--- a/TFMTests/RuntimeVersionsTests.swift
+++ b/TFMTests/RuntimeVersionsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import TermindApplication
import Testing
diff --git a/TFMTests/SFTPApplicationOpenerTests.swift b/TFMTests/SFTPApplicationOpenerTests.swift
index 6f6d6f9f..1bdb59cb 100644
--- a/TFMTests/SFTPApplicationOpenerTests.swift
+++ b/TFMTests/SFTPApplicationOpenerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Testing
diff --git a/TFMTests/SFTPChannelTests.swift b/TFMTests/SFTPChannelTests.swift
index d64e3a0a..c6e4ff15 100644
--- a/TFMTests/SFTPChannelTests.swift
+++ b/TFMTests/SFTPChannelTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/SFTPConcurrencySchedulerTests.swift b/TFMTests/SFTPConcurrencySchedulerTests.swift
index 90bf79de..439d2ef9 100644
--- a/TFMTests/SFTPConcurrencySchedulerTests.swift
+++ b/TFMTests/SFTPConcurrencySchedulerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import TermindRemoteInfrastructure
diff --git a/TFMTests/SFTPContextMenuTests.swift b/TFMTests/SFTPContextMenuTests.swift
index e73de5a0..00ee8be3 100644
--- a/TFMTests/SFTPContextMenuTests.swift
+++ b/TFMTests/SFTPContextMenuTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindDomain
diff --git a/TFMTests/SFTPCopyToolTests.swift b/TFMTests/SFTPCopyToolTests.swift
index bbc5c160..2fffd87f 100644
--- a/TFMTests/SFTPCopyToolTests.swift
+++ b/TFMTests/SFTPCopyToolTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/SFTPEditTests.swift b/TFMTests/SFTPEditTests.swift
index c0589e94..99fa4125 100644
--- a/TFMTests/SFTPEditTests.swift
+++ b/TFMTests/SFTPEditTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/TFMTests/SFTPFeatureTests.swift b/TFMTests/SFTPFeatureTests.swift
index d40465e9..2ac0771f 100644
--- a/TFMTests/SFTPFeatureTests.swift
+++ b/TFMTests/SFTPFeatureTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/TFMTests/SFTPLocalCopyExporterTests.swift b/TFMTests/SFTPLocalCopyExporterTests.swift
index 28a449fb..83e37217 100644
--- a/TFMTests/SFTPLocalCopyExporterTests.swift
+++ b/TFMTests/SFTPLocalCopyExporterTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFMTests/SFTPRenameTests.swift b/TFMTests/SFTPRenameTests.swift
index b17eb79e..4f2d0e23 100644
--- a/TFMTests/SFTPRenameTests.swift
+++ b/TFMTests/SFTPRenameTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Testing
diff --git a/TFMTests/SFTPResumeTests.swift b/TFMTests/SFTPResumeTests.swift
index c1091213..b682f519 100644
--- a/TFMTests/SFTPResumeTests.swift
+++ b/TFMTests/SFTPResumeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/TFMTests/SFTPSettingsIntegrationTests.swift b/TFMTests/SFTPSettingsIntegrationTests.swift
index 472d8a4f..bb947c75 100644
--- a/TFMTests/SFTPSettingsIntegrationTests.swift
+++ b/TFMTests/SFTPSettingsIntegrationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/SFTPSocketRelayTests.swift b/TFMTests/SFTPSocketRelayTests.swift
index 45dc2721..be8ba0db 100644
--- a/TFMTests/SFTPSocketRelayTests.swift
+++ b/TFMTests/SFTPSocketRelayTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import Testing
diff --git a/TFMTests/SFTPTransferContextTests.swift b/TFMTests/SFTPTransferContextTests.swift
index 19eb48c4..c78db35e 100644
--- a/TFMTests/SFTPTransferContextTests.swift
+++ b/TFMTests/SFTPTransferContextTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/SSHAgentForwardingWireTests.swift b/TFMTests/SSHAgentForwardingWireTests.swift
index 8931bd9c..ffd37ccd 100644
--- a/TFMTests/SSHAgentForwardingWireTests.swift
+++ b/TFMTests/SSHAgentForwardingWireTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/SSHForwardingPumpTests.swift b/TFMTests/SSHForwardingPumpTests.swift
index 6e5246eb..4a50b22c 100644
--- a/TFMTests/SSHForwardingPumpTests.swift
+++ b/TFMTests/SSHForwardingPumpTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import CSSH2
import Darwin
diff --git a/TFMTests/SSHForwardingWireTests.swift b/TFMTests/SSHForwardingWireTests.swift
index 20f4dab0..b4436d2d 100644
--- a/TFMTests/SSHForwardingWireTests.swift
+++ b/TFMTests/SSHForwardingWireTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import TermindApplication
diff --git a/TFMTests/SSHHandshakeDiagnosticsTests.swift b/TFMTests/SSHHandshakeDiagnosticsTests.swift
index 6c57156b..0b74abd9 100644
--- a/TFMTests/SSHHandshakeDiagnosticsTests.swift
+++ b/TFMTests/SSHHandshakeDiagnosticsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
import TermindApplication
diff --git a/TFMTests/SSHImportTests.swift b/TFMTests/SSHImportTests.swift
index 58ef6d59..c99b9e3e 100644
--- a/TFMTests/SSHImportTests.swift
+++ b/TFMTests/SSHImportTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/TFMTests/SSHKeyboardInteractiveTests.swift b/TFMTests/SSHKeyboardInteractiveTests.swift
index 4119031a..0df9e09d 100644
--- a/TFMTests/SSHKeyboardInteractiveTests.swift
+++ b/TFMTests/SSHKeyboardInteractiveTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/SSHMaxSessionsPolicyTests.swift b/TFMTests/SSHMaxSessionsPolicyTests.swift
index ccf748ca..2c0c931c 100644
--- a/TFMTests/SSHMaxSessionsPolicyTests.swift
+++ b/TFMTests/SSHMaxSessionsPolicyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import Testing
diff --git a/TFMTests/SSHPTYChannelLifecycleWireTests.swift b/TFMTests/SSHPTYChannelLifecycleWireTests.swift
index f455455b..1d3f00bc 100644
--- a/TFMTests/SSHPTYChannelLifecycleWireTests.swift
+++ b/TFMTests/SSHPTYChannelLifecycleWireTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/SSHPTYResizeTests.swift b/TFMTests/SSHPTYResizeTests.swift
index 8e09e221..76dce334 100644
--- a/TFMTests/SSHPTYResizeTests.swift
+++ b/TFMTests/SSHPTYResizeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Testing
diff --git a/TFMTests/SSHPTYStartupSizingTests.swift b/TFMTests/SSHPTYStartupSizingTests.swift
index 3d97a0db..55e31260 100644
--- a/TFMTests/SSHPTYStartupSizingTests.swift
+++ b/TFMTests/SSHPTYStartupSizingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CSSH2
import Testing
diff --git a/TFMTests/SSHUserCertificateTests.swift b/TFMTests/SSHUserCertificateTests.swift
index ef1a93d0..999d0b47 100644
--- a/TFMTests/SSHUserCertificateTests.swift
+++ b/TFMTests/SSHUserCertificateTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/Screenshots/MacScreenshotTests.swift b/TFMTests/Screenshots/MacScreenshotTests.swift
index 4d76c4e8..360ae916 100644
--- a/TFMTests/Screenshots/MacScreenshotTests.swift
+++ b/TFMTests/Screenshots/MacScreenshotTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Testing
diff --git a/TFMTests/Screenshots/ScreenshotDemoTests.swift b/TFMTests/Screenshots/ScreenshotDemoTests.swift
index 8ed2b623..7f192826 100644
--- a/TFMTests/Screenshots/ScreenshotDemoTests.swift
+++ b/TFMTests/Screenshots/ScreenshotDemoTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/SecurityKeySSHWireTests.swift b/TFMTests/SecurityKeySSHWireTests.swift
index 86b1e207..81b66c3f 100644
--- a/TFMTests/SecurityKeySSHWireTests.swift
+++ b/TFMTests/SecurityKeySSHWireTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import Logging
diff --git a/TFMTests/SerialFeatureTests.swift b/TFMTests/SerialFeatureTests.swift
index 16d3354b..9abafe8f 100644
--- a/TFMTests/SerialFeatureTests.swift
+++ b/TFMTests/SerialFeatureTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/ServerMetricsTests.swift b/TFMTests/ServerMetricsTests.swift
index fd300fb8..4574bf67 100644
--- a/TFMTests/ServerMetricsTests.swift
+++ b/TFMTests/ServerMetricsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/SessionContextTests.swift b/TFMTests/SessionContextTests.swift
index 2a717aaa..9363a7bb 100644
--- a/TFMTests/SessionContextTests.swift
+++ b/TFMTests/SessionContextTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/SettingsDetailControlTests.swift b/TFMTests/SettingsDetailControlTests.swift
index 2f387323..060a1f3e 100644
--- a/TFMTests/SettingsDetailControlTests.swift
+++ b/TFMTests/SettingsDetailControlTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/SettingsNavigationTests.swift b/TFMTests/SettingsNavigationTests.swift
index 1247873e..42b30f79 100644
--- a/TFMTests/SettingsNavigationTests.swift
+++ b/TFMTests/SettingsNavigationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/SettingsSyncTests.swift b/TFMTests/SettingsSyncTests.swift
index a5b9fbd3..e8f991be 100644
--- a/TFMTests/SettingsSyncTests.swift
+++ b/TFMTests/SettingsSyncTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import CloudKit
import CoreData
diff --git a/TFMTests/SheetApplicationTerminationTests.swift b/TFMTests/SheetApplicationTerminationTests.swift
index 6f574829..7c47a589 100644
--- a/TFMTests/SheetApplicationTerminationTests.swift
+++ b/TFMTests/SheetApplicationTerminationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import Testing
diff --git a/TFMTests/SheetQuitInteractionTests.swift b/TFMTests/SheetQuitInteractionTests.swift
index 65f86e9d..ab83c1b4 100644
--- a/TFMTests/SheetQuitInteractionTests.swift
+++ b/TFMTests/SheetQuitInteractionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/ShellIntegrationBootstrapTests.swift b/TFMTests/ShellIntegrationBootstrapTests.swift
index 3050aab1..09379e2f 100644
--- a/TFMTests/ShellIntegrationBootstrapTests.swift
+++ b/TFMTests/ShellIntegrationBootstrapTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/ShellIntegrationLoggingTests.swift b/TFMTests/ShellIntegrationLoggingTests.swift
index 8c961292..6454c679 100644
--- a/TFMTests/ShellIntegrationLoggingTests.swift
+++ b/TFMTests/ShellIntegrationLoggingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Logging
import Testing
diff --git a/TFMTests/SingleLineFieldEditingTests.swift b/TFMTests/SingleLineFieldEditingTests.swift
index e062ed00..6cc3c520 100644
--- a/TFMTests/SingleLineFieldEditingTests.swift
+++ b/TFMTests/SingleLineFieldEditingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindDomain
diff --git a/TFMTests/SnippetEditorDirtyStateTests.swift b/TFMTests/SnippetEditorDirtyStateTests.swift
index 51f3d094..6ad74b7f 100644
--- a/TFMTests/SnippetEditorDirtyStateTests.swift
+++ b/TFMTests/SnippetEditorDirtyStateTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFMTests/SnippetFeatureTests.swift b/TFMTests/SnippetFeatureTests.swift
index 3d46bbc7..5832782e 100644
--- a/TFMTests/SnippetFeatureTests.swift
+++ b/TFMTests/SnippetFeatureTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftData
import TermindApplication
diff --git a/TFMTests/SnippetTargetPickerRenderingTests.swift b/TFMTests/SnippetTargetPickerRenderingTests.swift
index 043980d9..4511fea6 100644
--- a/TFMTests/SnippetTargetPickerRenderingTests.swift
+++ b/TFMTests/SnippetTargetPickerRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/SoftwareKeyFileImporterTests.swift b/TFMTests/SoftwareKeyFileImporterTests.swift
index 7fae5a8b..14eb1a13 100644
--- a/TFMTests/SoftwareKeyFileImporterTests.swift
+++ b/TFMTests/SoftwareKeyFileImporterTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindRemoteInfrastructure
diff --git a/TFMTests/TailscaleCompositionTests.swift b/TFMTests/TailscaleCompositionTests.swift
index ba0db1cc..464d602d 100644
--- a/TFMTests/TailscaleCompositionTests.swift
+++ b/TFMTests/TailscaleCompositionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/TailscaleDetailLayoutTests.swift b/TFMTests/TailscaleDetailLayoutTests.swift
index 9147e10f..6aa9273c 100644
--- a/TFMTests/TailscaleDetailLayoutTests.swift
+++ b/TFMTests/TailscaleDetailLayoutTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/TailscaleFormInteractionTests.swift b/TFMTests/TailscaleFormInteractionTests.swift
index db537706..4ae011d4 100644
--- a/TFMTests/TailscaleFormInteractionTests.swift
+++ b/TFMTests/TailscaleFormInteractionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/TailscaleKeychainTests.swift b/TFMTests/TailscaleKeychainTests.swift
index bb999dc8..47325d2b 100644
--- a/TFMTests/TailscaleKeychainTests.swift
+++ b/TFMTests/TailscaleKeychainTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CTailscale
import Foundation
import Security
diff --git a/TFMTests/TailscaleMetricsDeletionTests.swift b/TFMTests/TailscaleMetricsDeletionTests.swift
index 20bd2108..7f1127dd 100644
--- a/TFMTests/TailscaleMetricsDeletionTests.swift
+++ b/TFMTests/TailscaleMetricsDeletionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/TailscaleSFTPChannelWireTests.swift b/TFMTests/TailscaleSFTPChannelWireTests.swift
index fe35dd8c..47cd1394 100644
--- a/TFMTests/TailscaleSFTPChannelWireTests.swift
+++ b/TFMTests/TailscaleSFTPChannelWireTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/TailscaleSessionRoutingTests.swift b/TFMTests/TailscaleSessionRoutingTests.swift
index fffbbc74..ec170306 100644
--- a/TFMTests/TailscaleSessionRoutingTests.swift
+++ b/TFMTests/TailscaleSessionRoutingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/TerminalActivationWindowTests.swift b/TFMTests/TerminalActivationWindowTests.swift
index 02de31a9..b773b5f0 100644
--- a/TFMTests/TerminalActivationWindowTests.swift
+++ b/TFMTests/TerminalActivationWindowTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import GhosttyTerminal
import SwiftUI
diff --git a/TFMTests/TerminalActivationWireTests.swift b/TFMTests/TerminalActivationWireTests.swift
index b4431ac9..7eaea0f4 100644
--- a/TFMTests/TerminalActivationWireTests.swift
+++ b/TFMTests/TerminalActivationWireTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/TerminalActivityTests.swift b/TFMTests/TerminalActivityTests.swift
index dd17033c..67615ae6 100644
--- a/TFMTests/TerminalActivityTests.swift
+++ b/TFMTests/TerminalActivityTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindDomain
import Testing
diff --git a/TFMTests/TerminalBackgroundTests.swift b/TFMTests/TerminalBackgroundTests.swift
index ac945da3..22ca586e 100644
--- a/TFMTests/TerminalBackgroundTests.swift
+++ b/TFMTests/TerminalBackgroundTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import GhosttyTerminal
import SwiftUI
diff --git a/TFMTests/TerminalBellTests.swift b/TFMTests/TerminalBellTests.swift
index c9a19231..99001329 100644
--- a/TFMTests/TerminalBellTests.swift
+++ b/TFMTests/TerminalBellTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import GhosttyTerminal
import TermindApplication
diff --git a/TFMTests/TerminalContextMenuTests.swift b/TFMTests/TerminalContextMenuTests.swift
index fb4f1a2c..2547e08d 100644
--- a/TFMTests/TerminalContextMenuTests.swift
+++ b/TFMTests/TerminalContextMenuTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindPresentation
import Testing
diff --git a/TFMTests/TerminalContextRuntimeTests.swift b/TFMTests/TerminalContextRuntimeTests.swift
index 588c4a6d..97e790d4 100644
--- a/TFMTests/TerminalContextRuntimeTests.swift
+++ b/TFMTests/TerminalContextRuntimeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/TerminalContextWireTests.swift b/TFMTests/TerminalContextWireTests.swift
index 15f7c427..c27862d8 100644
--- a/TFMTests/TerminalContextWireTests.swift
+++ b/TFMTests/TerminalContextWireTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/TerminalCustomConfigurationEditorLayoutTests.swift b/TFMTests/TerminalCustomConfigurationEditorLayoutTests.swift
index 828cd45c..7e118aaf 100644
--- a/TFMTests/TerminalCustomConfigurationEditorLayoutTests.swift
+++ b/TFMTests/TerminalCustomConfigurationEditorLayoutTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import GhosttyTerminal
import SwiftUI
diff --git a/TFMTests/TerminalFindTests.swift b/TFMTests/TerminalFindTests.swift
index 5d575289..abfeb91c 100644
--- a/TFMTests/TerminalFindTests.swift
+++ b/TFMTests/TerminalFindTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/TerminalFontRenderingTests.swift b/TFMTests/TerminalFontRenderingTests.swift
index e37d8764..0e06737a 100644
--- a/TFMTests/TerminalFontRenderingTests.swift
+++ b/TFMTests/TerminalFontRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import GhosttyTerminal
import TermindDomain
diff --git a/TFMTests/TerminalMouseInteractionTests.swift b/TFMTests/TerminalMouseInteractionTests.swift
index 9cb44a98..750af59c 100644
--- a/TFMTests/TerminalMouseInteractionTests.swift
+++ b/TFMTests/TerminalMouseInteractionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import GhosttyTerminal
import SwiftUI
diff --git a/TFMTests/TerminalPathDragTests.swift b/TFMTests/TerminalPathDragTests.swift
index 88c886f9..7fdf825a 100644
--- a/TFMTests/TerminalPathDragTests.swift
+++ b/TFMTests/TerminalPathDragTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Testing
import UniformTypeIdentifiers
diff --git a/TFMTests/TerminalResizeThrottleTests.swift b/TFMTests/TerminalResizeThrottleTests.swift
index 483e9ccb..6fad3ff5 100644
--- a/TFMTests/TerminalResizeThrottleTests.swift
+++ b/TFMTests/TerminalResizeThrottleTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import GhosttyTerminal
import Testing
diff --git a/TFMTests/TerminalSuggestToolTests.swift b/TFMTests/TerminalSuggestToolTests.swift
index 7584a11d..54777c06 100644
--- a/TFMTests/TerminalSuggestToolTests.swift
+++ b/TFMTests/TerminalSuggestToolTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import Testing
diff --git a/TFMTests/TerminalThemeBrowserTests.swift b/TFMTests/TerminalThemeBrowserTests.swift
index 9412dbba..03e692f4 100644
--- a/TFMTests/TerminalThemeBrowserTests.swift
+++ b/TFMTests/TerminalThemeBrowserTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import GhosttyTerminal
import SwiftUI
diff --git a/TFMTests/TerminalThemeTests.swift b/TFMTests/TerminalThemeTests.swift
index e00062e2..7b02dfec 100644
--- a/TFMTests/TerminalThemeTests.swift
+++ b/TFMTests/TerminalThemeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/TerminalTransportJourneyRenderingTests.swift b/TFMTests/TerminalTransportJourneyRenderingTests.swift
index 6063e730..4e035e0f 100644
--- a/TFMTests/TerminalTransportJourneyRenderingTests.swift
+++ b/TFMTests/TerminalTransportJourneyRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/TerminalTransportJourneyTests.swift b/TFMTests/TerminalTransportJourneyTests.swift
index 7b4b2888..1dadf9b4 100644
--- a/TFMTests/TerminalTransportJourneyTests.swift
+++ b/TFMTests/TerminalTransportJourneyTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/TerminalUploadModelTests.swift b/TFMTests/TerminalUploadModelTests.swift
index 457f95f0..4eeca10b 100644
--- a/TFMTests/TerminalUploadModelTests.swift
+++ b/TFMTests/TerminalUploadModelTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindRemoteInfrastructure
diff --git a/TFMTests/TerminalUploadNoticeTests.swift b/TFMTests/TerminalUploadNoticeTests.swift
index a9412107..ed532da2 100644
--- a/TFMTests/TerminalUploadNoticeTests.swift
+++ b/TFMTests/TerminalUploadNoticeTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/TextEditorScrollerTests.swift b/TFMTests/TextEditorScrollerTests.swift
index c9328c1a..fe753fbf 100644
--- a/TFMTests/TextEditorScrollerTests.swift
+++ b/TFMTests/TextEditorScrollerTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/TranscriptListViewTests.swift b/TFMTests/TranscriptListViewTests.swift
index b6387d67..48bdeb23 100644
--- a/TFMTests/TranscriptListViewTests.swift
+++ b/TFMTests/TranscriptListViewTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AppKit
import Foundation
diff --git a/TFMTests/UserInputModalityTests.swift b/TFMTests/UserInputModalityTests.swift
index 8b52caca..cdea890b 100644
--- a/TFMTests/UserInputModalityTests.swift
+++ b/TFMTests/UserInputModalityTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Testing
diff --git a/TFMTests/VaultEditorProjectionTests.swift b/TFMTests/VaultEditorProjectionTests.swift
index 19dbaacd..d960d58d 100644
--- a/TFMTests/VaultEditorProjectionTests.swift
+++ b/TFMTests/VaultEditorProjectionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/VaultSelectionTests.swift b/TFMTests/VaultSelectionTests.swift
index f480adc7..45e9544d 100644
--- a/TFMTests/VaultSelectionTests.swift
+++ b/TFMTests/VaultSelectionTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/VaultSyncTests.swift b/TFMTests/VaultSyncTests.swift
index 8385ba62..c1a6040f 100644
--- a/TFMTests/VaultSyncTests.swift
+++ b/TFMTests/VaultSyncTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CloudKit
import Foundation
import SwiftData
diff --git a/TFMTests/VisibleWindowTestTrait.swift b/TFMTests/VisibleWindowTestTrait.swift
index 804ef4e8..f15d34e4 100644
--- a/TFMTests/VisibleWindowTestTrait.swift
+++ b/TFMTests/VisibleWindowTestTrait.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import Testing
diff --git a/TFMTests/WakeOnLANAccessTests.swift b/TFMTests/WakeOnLANAccessTests.swift
index 70b27c15..926a6114 100644
--- a/TFMTests/WakeOnLANAccessTests.swift
+++ b/TFMTests/WakeOnLANAccessTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import SwiftUI
import TermindApplication
diff --git a/TFMTests/WebAuthnSSHTests.swift b/TFMTests/WebAuthnSSHTests.swift
index 3c11bade..a7928197 100644
--- a/TFMTests/WebAuthnSSHTests.swift
+++ b/TFMTests/WebAuthnSSHTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import CryptoKit
import Foundation
import TermindApplication
diff --git a/TFMTests/WebSearchTests.swift b/TFMTests/WebSearchTests.swift
index 983f0442..971c8f6e 100644
--- a/TFMTests/WebSearchTests.swift
+++ b/TFMTests/WebSearchTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import AgentKitScrubber
import Foundation
diff --git a/TFMTests/WelcomeContextMenuTests.swift b/TFMTests/WelcomeContextMenuTests.swift
index 4085cb2b..7eb3abde 100644
--- a/TFMTests/WelcomeContextMenuTests.swift
+++ b/TFMTests/WelcomeContextMenuTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import GlyphixTextFx
import SwiftUI
diff --git a/TFMTests/WelcomeQuickConnectRenderingTests.swift b/TFMTests/WelcomeQuickConnectRenderingTests.swift
index f05879d5..343a2059 100644
--- a/TFMTests/WelcomeQuickConnectRenderingTests.swift
+++ b/TFMTests/WelcomeQuickConnectRenderingTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/WindowCloseShortcutsTests.swift b/TFMTests/WindowCloseShortcutsTests.swift
index 243a3325..a35c288b 100644
--- a/TFMTests/WindowCloseShortcutsTests.swift
+++ b/TFMTests/WindowCloseShortcutsTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import SwiftUI
import Testing
diff --git a/TFMTests/WindowSidebarTests.swift b/TFMTests/WindowSidebarTests.swift
index 39ebef6f..6388b756 100644
--- a/TFMTests/WindowSidebarTests.swift
+++ b/TFMTests/WindowSidebarTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindApplication
import TermindDomain
diff --git a/TFMTests/WindowStateTests.swift b/TFMTests/WindowStateTests.swift
index d1608f2e..41b918f8 100644
--- a/TFMTests/WindowStateTests.swift
+++ b/TFMTests/WindowStateTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AgentKit
import Foundation
import TermindApplication
diff --git a/TFMTests/WindowToolbarFindTests.swift b/TFMTests/WindowToolbarFindTests.swift
index 07752994..3e932614 100644
--- a/TFMTests/WindowToolbarFindTests.swift
+++ b/TFMTests/WindowToolbarFindTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/WorkspaceAccessTests.swift b/TFMTests/WorkspaceAccessTests.swift
index 6fb506a3..9102752e 100644
--- a/TFMTests/WorkspaceAccessTests.swift
+++ b/TFMTests/WorkspaceAccessTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/WorkspaceBackgroundCloseTests.swift b/TFMTests/WorkspaceBackgroundCloseTests.swift
index 7232fa8a..6316d7f5 100644
--- a/TFMTests/WorkspaceBackgroundCloseTests.swift
+++ b/TFMTests/WorkspaceBackgroundCloseTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/WorkspaceCloseConfirmationTests.swift b/TFMTests/WorkspaceCloseConfirmationTests.swift
index cc8339ca..979b10fb 100644
--- a/TFMTests/WorkspaceCloseConfirmationTests.swift
+++ b/TFMTests/WorkspaceCloseConfirmationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindApplication
import TermindDomain
diff --git a/TFMTests/WorkspaceDragCancellationTests.swift b/TFMTests/WorkspaceDragCancellationTests.swift
index c69b8518..f37a8a22 100644
--- a/TFMTests/WorkspaceDragCancellationTests.swift
+++ b/TFMTests/WorkspaceDragCancellationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Testing
diff --git a/TFMTests/WorkspaceLayoutDragSourceTests.swift b/TFMTests/WorkspaceLayoutDragSourceTests.swift
index 9d87908f..06f01a08 100644
--- a/TFMTests/WorkspaceLayoutDragSourceTests.swift
+++ b/TFMTests/WorkspaceLayoutDragSourceTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindDomain
import Testing
diff --git a/TFMTests/WorkspaceLayoutDropTests.swift b/TFMTests/WorkspaceLayoutDropTests.swift
index 9cc55b4a..b1ed8857 100644
--- a/TFMTests/WorkspaceLayoutDropTests.swift
+++ b/TFMTests/WorkspaceLayoutDropTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Foundation
import TermindApplication
diff --git a/TFMTests/WorkspaceNavigatorDragAnimationTests.swift b/TFMTests/WorkspaceNavigatorDragAnimationTests.swift
index d5db8a6e..6ff568e9 100644
--- a/TFMTests/WorkspaceNavigatorDragAnimationTests.swift
+++ b/TFMTests/WorkspaceNavigatorDragAnimationTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import Testing
diff --git a/TFMTests/WorkspaceNavigatorDropTests.swift b/TFMTests/WorkspaceNavigatorDropTests.swift
index b5cce063..9a423911 100644
--- a/TFMTests/WorkspaceNavigatorDropTests.swift
+++ b/TFMTests/WorkspaceNavigatorDropTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/WorkspaceNavigatorRenameTests.swift b/TFMTests/WorkspaceNavigatorRenameTests.swift
index d0196015..457b90bd 100644
--- a/TFMTests/WorkspaceNavigatorRenameTests.swift
+++ b/TFMTests/WorkspaceNavigatorRenameTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import TermindApplication
diff --git a/TFMTests/WorkspaceNumberShortcutTests.swift b/TFMTests/WorkspaceNumberShortcutTests.swift
index 06a67945..8e05a65f 100644
--- a/TFMTests/WorkspaceNumberShortcutTests.swift
+++ b/TFMTests/WorkspaceNumberShortcutTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import SwiftUI
import Testing
diff --git a/TFMTests/WorkspaceTemplateTests.swift b/TFMTests/WorkspaceTemplateTests.swift
index d4ccd9bf..a0c9d51f 100644
--- a/TFMTests/WorkspaceTemplateTests.swift
+++ b/TFMTests/WorkspaceTemplateTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Foundation
import TermindApplication
import TermindDomain
diff --git a/TFMTests/WorkspaceWindowMoveTests.swift b/TFMTests/WorkspaceWindowMoveTests.swift
index 57551ae6..f4b7ccfd 100644
--- a/TFMTests/WorkspaceWindowMoveTests.swift
+++ b/TFMTests/WorkspaceWindowMoveTests.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import AppKit
import TermindApplication
import TermindDomain
diff --git a/TermindMCPBridge/main.swift b/TermindMCPBridge/main.swift
index 5882f3de..3393ff03 100644
--- a/TermindMCPBridge/main.swift
+++ b/TermindMCPBridge/main.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import Darwin
import Foundation
diff --git a/WorkspaceActivitySupport/WorkspaceActivityAttributes.swift b/WorkspaceActivitySupport/WorkspaceActivityAttributes.swift
index b9f0e060..c11ba1bb 100644
--- a/WorkspaceActivitySupport/WorkspaceActivityAttributes.swift
+++ b/WorkspaceActivitySupport/WorkspaceActivityAttributes.swift
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: 2026 Kaede Akino
+// SPDX-License-Identifier: GPL-3.0-only
+
import ActivityKit
import Foundation
diff --git a/fastlane/Fastfile b/fastlane/Fastfile
index 4b485c60..913e4ad5 100644
--- a/fastlane/Fastfile
+++ b/fastlane/Fastfile
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] ||= "120"
opt_out_usage
diff --git a/fastlane/lib/screenshot_frames.rb b/fastlane/lib/screenshot_frames.rb
index 0e76bde3..4af0dba6 100644
--- a/fastlane/lib/screenshot_frames.rb
+++ b/fastlane/lib/screenshot_frames.rb
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
require "tmpdir"
require_relative "screenshots"
diff --git a/fastlane/lib/screenshots.rb b/fastlane/lib/screenshots.rb
index 6852ef76..f207b9a9 100644
--- a/fastlane/lib/screenshots.rb
+++ b/fastlane/lib/screenshots.rb
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: 2026 Kaede Akino
+# SPDX-License-Identifier: GPL-3.0-only
+
require "digest"
require "fileutils"
require "json"
diff --git a/package-lock.json b/package-lock.json
index 98ad59c2..718e1f03 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,6 +5,7 @@
"packages": {
"": {
"name": "termind-repository-tools",
+ "license": "GPL-3.0-only",
"devDependencies": {
"openwiki": "0.7.2"
},
diff --git a/package.json b/package.json
index ead2fe11..1fef5abc 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,7 @@
{
"name": "termind-repository-tools",
"private": true,
+ "license": "GPL-3.0-only",
"engines": {
"node": ">=22.22.0"
},