diff --git a/DESIGN.md b/DESIGN.md index ba78182..70ac399 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -70,6 +70,7 @@ Chop의 라벨과 오류 문구는 medium으로 통일합니다. 셸·TUI가 출 - 오른쪽 패널은 기본300pt, 최소280pt이며 네이티브 경계로 폭을 조절합니다. 닫으면 경계도 없애고 canvas 전체 폭을 터미널에 돌려줍니다. 화면에 최소 폭이 들어가지 않으면 열기를 거절하고, 초기 복원에서는 패널을 접습니다. - 파일 트리의 경로 입력·홈/다운로드/문서 바로가기·파일 목록은 하나의 탐색 영역입니다. 바깥 inset12/gap8, 한 줄 경로 입력28pt, 파일 행28pt, 들여쓰기16pt, 시스템14pt medium 글꼴을 유지합니다. 헤더 버튼은 기존28pt 아이콘입니다. 후속 사용자 요청의 `design/references/file-shortcuts-row-user.png` / `layout-edit-button-user.png`에 따라 바로가기는 기존 세로108pt 묶음을 대체하는 가로 한 줄의 개별 native rounded 버튼입니다. 높이28pt/gap8,기존14pt medium 글자와 SF house/arrow.down.circle/doc14pt 아이콘을 사용하고,아이콘·글자는 native image-leading 배치로 함께 누릅니다. 전체 이름과 경로 툴팁·AX 이름은 유지합니다. 사용자 지정 행 배치가 이전 Finder 세로 열 정렬 계약을 대체하며 이미지는 image-px 관찰 자료입니다. - 실제 파일 목록과 로딩/빈/오류 안내는 바로가기 아래의 별도 목록 면에 함께 둡니다. 배경은 fileListBackground(light F8F8F8/dark24262C)입니다. 버튼색을 그대로 넓은 면에 쓰면 너무 강하다는 후속 사용자 교정에 따라,버튼의 중립색을 본문 쪽으로 약35%만 반영한 연한 톤을 사용합니다. 헤더·버튼색은 유지하며 그라디언트·구분선은 추가하지 않습니다. 목록 면은 반경8pt/내부 inset8pt,바깥 좌우·하단 inset12pt로 구분합니다. 최소 패널280pt에서도 세 바로가기의 전체 이름·아이콘과 파일 행 클릭 영역이 유지돼야 합니다. 목록 자체의 선택·펼치기·키보드·스크롤·경로 드래그는 같은 NSOutlineView를 재사용합니다. +- 바로가기 아래의28pt native NSSearchField에서 현재 폴더와 하위 폴더의 파일·폴더 이름을 검색합니다. 기존14pt medium/gap8/좌우 inset12를 사용하며 입력 포커스 테두리 없이 실제 caret·native 검색/지우기 아이콘과 AX 이름을 유지합니다. 입력 후200ms 동안 기다린 뒤 백그라운드로 읽고,새 검색·탐색·뷰 해제 때 이전 요청을 취소합니다. 검색 결과는 같은 목록 면에 상대 경로로 표시해 동명 파일을 구분하며 전체 경로는 툴팁/경로 복사/파일 URL 드래그에 보존합니다. 검색어를 지우면 일반 트리,결과 폴더를 더블클릭/Enter로 열면 해당 폴더의 일반 트리로 돌아옵니다. 새로고침은 같은 폴더의 검색어를 유지하고 목적지를 바꾸면 초기화합니다. 숨김·심볼릭 링크·패키지 하위 제외는 기존 트리 규칙을 따릅니다. 결과는 처음500개까지 표시하며 초과 안내/검색어 좁히기를 제공하고,일부 하위 폴더의 읽기 실패와루트 실패·0건·검색 중을 구분합니다. 파일 내용 검색은 현재 범위에 포함하지 않습니다. ## Elevation & Depth diff --git a/README.md b/README.md index d4f4b01..3412ce5 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ libghostty 엔진과 Metal 렌더러를 사용합니다. | 한 칸에 집중 | 현재 칸을 크게 보거나 원래 배치로 돌아갑니다. 다른 셸의 작업은 계속됩니다. | | 라이트·다크 모드 | 상단의 달·해 아이콘으로 전환합니다. 터미널 색상도 함께 바뀌며 선택을 기억합니다. | | 오른쪽 파일 트리 | 경로 입력, macOS 폴더 선택기, 홈·다운로드·문서 바로가기로 폴더를 탐색합니다. | +| 파일 이름 검색 | 현재 폴더와 하위 폴더에서 파일·폴더를 찾고, 같은 이름은 상대 경로로 구분합니다. | | 경로 드래그 입력 | 파일이나 폴더를 터미널에 놓으면 셸 인자로 인용한 경로를 입력합니다. Enter는 보내지 않습니다. | | 작업 공간 복원 | 배치·이름·경로·선택한 칸을 저장하고, 다음 실행 때 새 셸로 엽니다. | @@ -101,9 +102,13 @@ libghostty 엔진과 Metal 렌더러를 사용합니다. 선택기를 열어 탐색할 폴더를 지정합니다. 폴더를 펼칠 때 하위 항목을 읽고, 폴더부터 정렬합니다. 숨김 항목은 제외하며 심볼릭 링크와 -앱 패키지는 펼치지 않습니다. 파일을 더블 클릭하면 Finder에서 선택하고, 우클릭 메뉴나 +앱 패키지는 펼치지 않습니다. 파일을 더블 클릭하거나 Enter를 누르면 Finder에서 선택하고, 우클릭 메뉴나 `⌘C`로 경로를 복사합니다. 실행 중인 터미널 본문으로 드래그해 경로를 넣을 수도 있습니다. +바로가기 아래 검색창에 이름을 입력하면 하위 폴더까지 검색합니다. 결과는 상대 경로로 표시하며, +검색어를 지우면 원래 트리로 돌아옵니다. 결과 폴더를 더블 클릭하거나 Enter를 누르면 그 폴더를 +엽니다. 결과가 500개를 넘으면 검색어를 좁힐 수 있도록 안내합니다. + 파일 트리의 탐색 경로와 터미널의 작업 경로는 독립적입니다. 마지막 폴더와 패널 표시 여부, 폭은 다음 실행에도 유지됩니다. 읽기에 실패하면 경로 수정·폴더 선택·바로가기·새로고침으로 다시 시도할 수 있습니다. diff --git a/Sources/Chop/FileBrowserView.swift b/Sources/Chop/FileBrowserView.swift index d38893b..952a5cc 100644 --- a/Sources/Chop/FileBrowserView.swift +++ b/Sources/Chop/FileBrowserView.swift @@ -9,9 +9,9 @@ private final class FileBrowserNode { var task: Task? lazy var placeholder = FileBrowserNode(message: "불러오는 중…") - init(entry: FileTreeEntry) { + init(entry: FileTreeEntry, message: String? = nil) { self.entry = entry - message = entry.name + self.message = message ?? entry.name } init(message: String) { @@ -30,16 +30,28 @@ private final class FileBrowserNode { private final class FileOutlineView: NSOutlineView { var onCopyPath: (() -> Void)? @objc func copy(_ sender: Any?) { onCopyPath?() } + + override func keyDown(with event: NSEvent) { + // Return and keypad Enter activate the selected result just like a double-click. + if [36, 76].contains(event.keyCode), + event.modifierFlags.intersection([.command, .option, .control]).isEmpty + { + sendAction(doubleAction, to: target) + } else { + super.keyDown(with: event) + } + } } @MainActor final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDelegate, - NSMenuDelegate, NSMenuItemValidation + NSMenuDelegate, NSMenuItemValidation, NSSearchFieldDelegate { typealias Loader = @Sendable (URL) async throws -> [FileTreeEntry] private(set) var rootURL: URL private(set) var isLoading = false private(set) var loadError: String? + private(set) var searchQuery = "" private let defaults: UserDefaults private let loader: Loader private var generation = UUID() @@ -48,6 +60,7 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg private let header = NSView() private let titleLabel = NSTextField(labelWithString: "파일") private let pathField = NSTextField() + private let searchField = NSSearchField() private let statusLabel = NSTextField(wrappingLabelWithString: "") private let outline = FileOutlineView() private let scrollView = NSScrollView() @@ -80,6 +93,8 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg @available(*, unavailable) required init?(coder: NSCoder) { fatalError("Use init(initialURL:defaults:loader:).") } + deinit { rootTask?.cancel() } + func applyAppearance(_ mode: AppearanceMode) { appearance = mode.appearance layer?.backgroundColor = mode.background.cgColor @@ -92,38 +107,83 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg /// Each navigation replaces its generation so delayed reads cannot overwrite a newer folder. func navigate(to directory: URL) { + rootURL = directory.standardizedFileURL + pathField.stringValue = rootURL.path + pathField.toolTip = rootURL.path + searchField.stringValue = "" + searchQuery = "" + reloadContents() + } + + func search(for query: String) { + // Native edits already own the text; avoid resetting the field editor during IME composition. + if searchField.stringValue != query { searchField.stringValue = query } + let normalized = query.trimmingCharacters(in: .whitespacesAndNewlines) + guard normalized != searchQuery else { return } + searchQuery = normalized + reloadContents(debounce: true) + } + + private func reloadContents(debounce: Bool = false) { rootTask?.cancel() for node in roots { node.cancelLoads() } generation = UUID() let request = generation - rootURL = directory.standardizedFileURL - pathField.stringValue = rootURL.path - pathField.toolTip = rootURL.path + let query = searchQuery roots = [] loadError = nil isLoading = true - showStatus("불러오는 중…") + showStatus(query.isEmpty ? "불러오는 중…" : "검색 중…") + outline.setAccessibilityLabel(query.isEmpty ? "파일 트리" : "파일 검색 결과") outline.reloadData() let loader = loader let location = rootURL rootTask = Task { [weak self] in do { - let entries = try await loader(location) + if debounce && !query.isEmpty { try await Task.sleep(for: .milliseconds(200)) } + let rows: [(entry: FileTreeEntry, message: String)] + let status: String? + if query.isEmpty { + let entries = try await loader(location) + rows = entries.map { ($0, $0.name) } + status = entries.isEmpty ? "빈 폴더예요" : nil + } else { + let result = try await FileTreeSearch.search( + at: location, matching: query, reader: loader) + rows = result.matches.map { ($0.entry, $0.relativePath) } + status = Self.searchStatus(for: result) + } guard let self, generation == request, !Task.isCancelled else { return } - roots = entries.map(FileBrowserNode.init(entry:)) + roots = rows.map { FileBrowserNode(entry: $0.entry, message: $0.message) } isLoading = false defaults.set(location.path, forKey: "fileTreeRootPath") outline.reloadData() - showStatus(entries.isEmpty ? "빈 폴더예요" : nil) + showStatus(status) } catch { guard let self, generation == request, !Task.isCancelled else { return } isLoading = false loadError = error.localizedDescription - showStatus("폴더를 열 수 없어요.\n\(error.localizedDescription)") + let message = query.isEmpty ? "폴더를 열 수 없어요." : "검색할 수 없어요." + showStatus("\(message)\n\(error.localizedDescription)") } } } + private static func searchStatus(for result: FileTreeSearchResult) -> String { + let count = result.matches.count + var status = count == 0 ? "검색 결과가 없어요" : "\(count)개 결과" + if result.isTruncated { status = "처음 \(count)개 결과 · 검색어를 좁혀 주세요." } + if result.skippedDirectories > 0 { status += "\n일부 폴더를 읽지 못했어요." } + return status + } + + func controlTextDidChange(_ notification: Notification) { + guard notification.object as? NSSearchField === searchField else { return } + search(for: searchField.stringValue) + } + + @objc private func searchChanged() { search(for: searchField.stringValue) } + private func showStatus(_ text: String?) { statusLabel.stringValue = text ?? "" statusLabel.isHidden = text == nil @@ -137,7 +197,18 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg } } - @objc private func refresh() { goToPath() } + @objc private func refresh() { + do { + let directory = try FileTree.directoryURL(for: pathField.stringValue, relativeTo: rootURL) + if directory.path == rootURL.path { + reloadContents() + } else { + navigate(to: directory) + } + } catch { + showStatus(error.localizedDescription) + } + } @objc private func visitShortcut(_ sender: NSButton) { guard quickLocations.indices.contains(sender.tag) else { return } @@ -169,7 +240,9 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg let node = outline.item(atRow: outline.selectedRow) as? FileBrowserNode else { return } if entry.isDirectory { - if outline.isItemExpanded(node) { + if !searchQuery.isEmpty { + navigate(to: entry.url) + } else if outline.isItemExpanded(node) { outline.collapseItem(node) } else { outline.expandItem(node) @@ -213,7 +286,9 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg } func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: Any) -> Bool { - guard let node = item as? FileBrowserNode, node.entry?.isDirectory == true else { return false } + guard searchQuery.isEmpty, let node = item as? FileBrowserNode, + node.entry?.isDirectory == true + else { return false } return node.children?.isEmpty != true } @@ -238,7 +313,7 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg do { let entries = try await loader(entry.url) guard let self, let node, generation == request, !Task.isCancelled else { return } - node.children = entries.map(FileBrowserNode.init(entry:)) + node.children = entries.map { FileBrowserNode(entry: $0) } outline.reloadItem(node, reloadChildren: true) } catch { guard let self, let node, generation == request, !Task.isCancelled else { return } @@ -303,6 +378,15 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg pathField.setAccessibilityLabel("파일 트리 폴더 경로") pathField.target = self pathField.action = #selector(goToPath) + searchField.font = ChopStyle.font + searchField.placeholderString = "파일·폴더 이름 검색" + searchField.setAccessibilityLabel("파일 트리 검색") + searchField.toolTip = "현재 폴더와 하위 폴더에서 이름으로 검색" + searchField.focusRingType = .none + searchField.sendsSearchStringImmediately = true + searchField.delegate = self + searchField.target = self + searchField.action = #selector(searchChanged) let shortcuts = NSStackView() shortcuts.orientation = .horizontal shortcuts.alignment = .centerY @@ -362,12 +446,13 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg listSection.layer?.cornerRadius = 8 listSection.layer?.masksToBounds = true listSection.addSubview(listContent) - let content = NSStackView(views: [pathField, shortcuts, listSection]) + let content = NSStackView(views: [pathField, shortcuts, searchField, listSection]) content.orientation = .vertical content.alignment = .leading content.spacing = 8 for view in [ - header, headerRow, content, pathField, shortcuts, listSection, listContent, statusLabel, + header, headerRow, content, pathField, shortcuts, searchField, listSection, listContent, + statusLabel, scrollView, ] { view.translatesAutoresizingMaskIntoConstraints = false @@ -390,6 +475,8 @@ final class FileBrowserView: NSView, NSOutlineViewDataSource, NSOutlineViewDeleg pathField.widthAnchor.constraint(equalTo: content.widthAnchor), pathField.heightAnchor.constraint(equalToConstant: 28), shortcuts.widthAnchor.constraint(lessThanOrEqualTo: content.widthAnchor), + searchField.widthAnchor.constraint(equalTo: content.widthAnchor), + searchField.heightAnchor.constraint(equalToConstant: 28), listSection.widthAnchor.constraint(equalTo: content.widthAnchor), listContent.leadingAnchor.constraint(equalTo: listSection.leadingAnchor, constant: 8), listContent.trailingAnchor.constraint(equalTo: listSection.trailingAnchor, constant: -8), diff --git a/Sources/ChopCore/FileTreeSearch.swift b/Sources/ChopCore/FileTreeSearch.swift new file mode 100644 index 0000000..32e684f --- /dev/null +++ b/Sources/ChopCore/FileTreeSearch.swift @@ -0,0 +1,72 @@ +import Foundation + +public struct FileTreeSearchMatch: Equatable, Sendable { + public let entry: FileTreeEntry + /// Built while walking, so canonicalized /tmp or /var URLs do not lose their ancestry. + public let relativePath: String +} + +public struct FileTreeSearchResult: Equatable, Sendable { + public let matches: [FileTreeSearchMatch] + public var entries: [FileTreeEntry] { matches.map(\.entry) } + public let isTruncated: Bool + public let skippedDirectories: Int +} + +public enum FileTreeSearch { + public typealias Reader = @Sendable (URL) async throws -> [FileTreeEntry] + + /// Searches visible names below a root, using the tree's package and symlink leaf rules. + public static func search( + at directory: URL, matching query: String, limit: Int = 500, + reader: Reader = { try FileTree.entries(at: $0) } + ) async throws -> FileTreeSearchResult { + precondition(limit > 0) + let query = query.trimmingCharacters(in: .whitespacesAndNewlines) + var matches: [FileTreeSearchMatch] = [] + var skipped = 0 + func result(truncated: Bool = false) -> FileTreeSearchResult { + FileTreeSearchResult( + matches: Array(matches.prefix(limit)).sorted { + if $0.entry.isDirectory != $1.entry.isDirectory { return $0.entry.isDirectory } + return $0.relativePath.localizedStandardCompare($1.relativePath) == .orderedAscending + }, isTruncated: truncated, skippedDirectories: skipped) + } + try Task.checkCancellation() + guard !query.isEmpty else { return result() } + let root = directory.standardizedFileURL + var pending = [(url: root, path: "")] + var visited = Set() + while let (folder, parentPath) = pending.popLast() { + try Task.checkCancellation() + guard visited.insert(folder.standardizedFileURL).inserted else { continue } + let entries: [FileTreeEntry] + do { + entries = try await reader(folder) + } catch is CancellationError { + throw CancellationError() + } catch { + try Task.checkCancellation() + if folder == root { throw error } + skipped += 1 + continue + } + var children: [(url: URL, path: String)] = [] + for entry in entries { + try Task.checkCancellation() + let path = + parentPath.isEmpty + ? entry.url.lastPathComponent : parentPath + "/" + entry.url.lastPathComponent + if entry.name.localizedStandardContains(query) + || entry.url.lastPathComponent.localizedStandardContains(query) + { + matches.append(FileTreeSearchMatch(entry: entry, relativePath: path)) + if matches.count > limit { return result(truncated: true) } + } + if entry.isDirectory { children.append((entry.url, path)) } + } + pending.append(contentsOf: children.reversed()) + } + return result() + } +} diff --git a/Tests/ChopCoreTests/FileTreeSearchTests.swift b/Tests/ChopCoreTests/FileTreeSearchTests.swift new file mode 100644 index 0000000..8a83571 --- /dev/null +++ b/Tests/ChopCoreTests/FileTreeSearchTests.swift @@ -0,0 +1,89 @@ +import Foundation +import Testing + +@testable import ChopCore + +@Test func fileSearchFindsNestedNamesWithoutEnteringHiddenPackagesOrSymlinkLoops() async throws { + let root = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString) + try FileManager.default.createDirectory(at: root, withIntermediateDirectories: true) + defer { try? FileManager.default.removeItem(at: root) } + for name in ["folder2", "folder10", ".hidden", "Bundle.app"] { + try FileManager.default.createDirectory( + at: root.appendingPathComponent(name), withIntermediateDirectories: true) + } + for path in [ + "README.md", "folder2/Readme.KO.md", "folder10/보고서.md", ".hidden/readme.txt", + "Bundle.app/readme.txt", "folder2/file2.txt", "folder2/file10.txt", + ] { + try Data().write(to: root.appendingPathComponent(path)) + } + try FileManager.default.createSymbolicLink( + at: root.appendingPathComponent("readme-link"), + withDestinationURL: root.appendingPathComponent("folder2")) + try FileManager.default.createSymbolicLink( + at: root.appendingPathComponent("folder2/loop"), withDestinationURL: root) + let result = try await FileTreeSearch.search(at: root, matching: " readme ") + #expect(Set(result.entries.map(\.name)) == ["README.md", "Readme.KO.md", "readme-link"]) + #expect( + Set(result.matches.map(\.relativePath)) == ["README.md", "folder2/Readme.KO.md", "readme-link"]) + #expect(!result.isTruncated && result.skippedDirectories == 0) + #expect(result.entries.first { $0.name == "readme-link" }?.isDirectory == false) + let korean = try await FileTreeSearch.search(at: root, matching: "보고서") + #expect(korean.entries.count == 1) + let natural = try await FileTreeSearch.search(at: root, matching: "file") + #expect(natural.entries.map(\.name) == ["file2.txt", "file10.txt"]) +} + +@Test func fileSearchReportsRealTruncationPartialReadsAndRootFailure() async throws { + let root = URL(fileURLWithPath: "/search") + let entries = (1...4).map { + FileTreeEntry( + url: root.appendingPathComponent("file\($0)"), name: "file\($0)", isDirectory: false) + } + let limited = try await FileTreeSearch.search(at: root, matching: "file", limit: 3) { _ in entries + } + #expect(limited.entries.count == 3 && limited.isTruncated) + let exact = try await FileTreeSearch.search(at: root, matching: "file", limit: 4) { _ in entries } + #expect(exact.entries.count == 4 && !exact.isTruncated) + let localized: FileTreeSearch.Reader = { _ in + [FileTreeEntry(url: root.appendingPathComponent("Documents"), name: "문서", isDirectory: false)] + } + for query in ["Documents", "문서"] { + let result = try await FileTreeSearch.search(at: root, matching: query, reader: localized) + #expect(result.matches.map(\.relativePath) == ["Documents"]) + } + let partial = try await FileTreeSearch.search(at: root, matching: "file") { url in + guard url == root else { throw CocoaError(.fileReadNoPermission) } + return entries + [ + FileTreeEntry(url: root.appendingPathComponent("denied"), name: "denied", isDirectory: true) + ] + } + #expect(partial.entries.count == 4 && partial.skippedDirectories == 1) + await #expect(throws: CocoaError.self) { + try await FileTreeSearch.search(at: root, matching: "file") { _ in + throw CocoaError(.fileReadNoSuchFile) + } + } +} + +@Test func fileSearchCancelsAnInProgressReadAndDoesNotReadForAnEmptyQuery() async throws { + let root = URL(fileURLWithPath: "/search") + let empty = try await FileTreeSearch.search(at: root, matching: " \n ") { _ in + Issue.record("Empty search must not read a directory") + return [] + } + #expect(empty.entries.isEmpty && !empty.isTruncated) + let started = AsyncStream.makeStream() + let task = Task { + try await FileTreeSearch.search(at: root, matching: "file") { _ in + started.continuation.yield(()) + try await Task.sleep(for: .seconds(10)) + return [] + } + } + var iterator = started.stream.makeAsyncIterator() + _ = await iterator.next() + task.cancel() + await #expect(throws: CancellationError.self) { try await task.value } + started.continuation.finish() +} diff --git a/Tests/ChopTests/FileBrowserTests.swift b/Tests/ChopTests/FileBrowserTests.swift index bf4b548..5e963da 100644 --- a/Tests/ChopTests/FileBrowserTests.swift +++ b/Tests/ChopTests/FileBrowserTests.swift @@ -31,6 +31,9 @@ import Testing window.layoutIfNeeded() browser.layoutSubtreeIfNeeded() let views = descendants(of: browser) + let search = try #require(views.compactMap { $0 as? NSSearchField }.first) + #expect(browser.bounds.contains(browser.convert(search.bounds, from: search))) + #expect(search.bounds.width >= 256 && search.bounds.height == 28) let buttons = views.compactMap { $0 as? NSButton }.filter { ["홈", "다운로드", "문서"].contains($0.title) } @@ -55,6 +58,133 @@ import Testing } } +@MainActor +@Test func fileBrowserSearchShowsRelativePathsAndKeepsNativeFileActions() async throws { + _ = NSApplication.shared + let suite = "chop-file-search-\(UUID().uuidString)" + let defaults = try #require(UserDefaults(suiteName: suite)) + defer { defaults.removePersistentDomain(forName: suite) } + let root = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString) + let folder = root.appendingPathComponent("folder") + try FileManager.default.createDirectory(at: folder, withIntermediateDirectories: true) + defer { try? FileManager.default.removeItem(at: root) } + for url in [root.appendingPathComponent("README.md"), folder.appendingPathComponent("README.md")] + { + try Data().write(to: url) + } + let browser = FileBrowserView(initialURL: root, defaults: defaults) + try await waitForFileBrowser { !browser.isLoading } + func descendants(of view: NSView) -> [NSView] { + view.subviews.flatMap { [$0] + descendants(of: $0) } + } + let views = descendants(of: browser) + let field = try #require(views.compactMap { $0 as? NSSearchField }.first) + let outline = try #require(views.compactMap { $0 as? NSOutlineView }.first) + field.stringValue = "readme" + #expect(field.sendAction(try #require(field.action), to: field.target)) + try await waitForFileBrowser { !browser.isLoading } + #expect(browser.searchQuery == "readme" && outline.numberOfRows == 2) + let labels = (0..? + private(set) var isWaiting = false + private(set) var didReturn = false + + func entries(at url: URL) async throws -> [FileTreeEntry] { + calls += 1 + if calls == 2 { + let entries: [FileTreeEntry] = try await withCheckedThrowingContinuation { continuation in + self.continuation = continuation + isWaiting = true + } + didReturn = true + return entries + } + return [ + FileTreeEntry( + url: url.appendingPathComponent("fast.txt"), name: "fast.txt", isDirectory: false) + ] + } + + func finish() { + continuation?.resume(returning: [ + FileTreeEntry( + url: URL(fileURLWithPath: "/search/slow.txt"), name: "slow.txt", isDirectory: false) + ]) + } +} + @MainActor @Test func fileBrowserRemembersSuccessfulRootsAndRecoversAfterFailure() async throws { _ = NSApplication.shared diff --git a/design/evidence/file-tree-search.md b/design/evidence/file-tree-search.md new file mode 100644 index 0000000..2d47bf8 --- /dev/null +++ b/design/evidence/file-tree-search.md @@ -0,0 +1,42 @@ +# 파일트리 이름 검색 + +## 기준과 요소 관계 + +- R-SEARCH: 사용자의 “파일트리 안에서 검색” 요청. 기존 가로 바로가기와 연한 파일 목록 면은 유지하고,그 사이에서 현재 루트의 하위 파일·폴더를 이름으로 찾는다. 파일 내용 검색은 이번 범위 밖이다. 새 외부 화면 레퍼런스를 임의로 만들지 않았으며 검색 컨트롤은 기존 AppKit 체계의 reviewer-derived 선택이다. +- E-SEARCH / D-SEARCH:28pt NSSearchField를 경로28pt→바로가기28pt→검색28pt→목록 순으로 배치한다. 기존 바깥 inset12/그룹 gap8/14pt medium/목록 내부 inset8/반경8을 유지한다. 상단 공통 툴바와40pt 파일·터미널 헤더의 위계는 바꾸지 않는다. 검색/지우기 아이콘·caret은 native 컨트롤에 맡기고 입력 포커스 테두리는 표시하지 않는다. +- E-RESULTS / D-RESULTS: 같은 outline과 연한 fileListBackground에 상대 경로를 표시한다. URL 문자열에서 루트 접두사를 잘라내지 않고 순회 중 상대 경로를 기록해 /tmp·/var의 Foundation 정규화에도 동명 파일이 구분된다. 툴팁·복사·드래그 데이터는 실제 파일 URL을 사용한다. 폴더 결과는 더블클릭/Enter로 해당 폴더를 열고 검색어를 지운다. 검색 지우기는 현재 루트의 일반 트리로 복구한다. +- D-READ:200ms debounce,새 검색/탐색/뷰 해제 시 취소,세대 ID로 늦은 응답 무시. 기존 detached 폴더 reader를 재사용하며 숨김/심볼릭 링크·패키지 하위는 읽지 않는다. 표시 이름과 실제 파일명 모두 대소문자 구분 없이 찾는다. 처음500개 뒤 추가 일치가 있을 때만 초과를 알리고,읽을 수 없는 하위 폴더는 건너뛰었다고 알린다. 루트 자체의 실패는0건과 구분한다. + +## 상태 문구 계약 + +| C-ID / 조건 | 최종 문구 / 위치 | 사실·다음 행동과 검증 | +|---|---|---| +| C-SEARCH-INPUT / 비어 있는 입력 | 파일·폴더 이름 검색 / native placeholder | 검색 범위는 tooltip에 현재 폴더와 하위 폴더로 설명. 별도 중복 설명 행은 두지 않는다. 최소280pt에서 읽을 수 있다. | +| C-SEARCH-READ / debounce·읽기 중 | 검색 중… / 목록 상태 | 가짜 진행률·완료 시간을 만들지 않는다. | +| C-SEARCH-COUNT / 완료 | N개 결과 / 목록 상태 | 실제 반환한 수를 한 번 표시한다. 동명 README 두 경로의 실제 결과와 일치했다. | +| C-SEARCH-EMPTY /0건 | 검색 결과가 없어요 / 목록 상태 | 오류와 구분하고 native 지우기로 일반 트리에 복귀한다. 실제0건·지우기 복구를 확인했다. | +| C-SEARCH-LIMIT /501번째 일치 | 처음500개 결과 · 검색어를 좁혀 주세요. / 목록 상태 | 실제501개 fixture에서500개와 안내를 확인했고 item499까지 스크롤했다. 최소 폭에서 안내와 결과가 겹치지 않는다. | +| C-SEARCH-PARTIAL /하위 읽기 실패 | 일부 폴더를 읽지 못했어요. / 결과 상태 다음 줄 | 읽은 결과를 유지한다. 가짜 원인을 덧붙이지 않으며 reader 실패 자동 검사로 확인했다. | +| C-SEARCH-ERROR /루트 읽기 실패 | 검색할 수 없어요. + 실제 오류 / 목록 상태 | 없는 경로에서 “폴더 경로를 확인해 주세요.”가 함께 표시되고,경로 수정·바로가기로 복구한다. 최소 창의 두 줄을 실제 확인했다. | + +쉬운 이름/직접 동작/조건과 수량 보존/중복 설명 제거를 기준으로 한국어 문구를 검토했다. ‘일시적’ 같은 원인이나 해결 시간을 발명하지 않았다. 모든 새 읽는 UI는 기존14pt medium이며 작은 글자 예외는 추가하지 않았다. + +## 검증과 수정 이력 + +- base19331e1,구현3ba9a9e/b8e43d3. 최종 check.sh32개 검사7.818초,strict format·릴리스 빌드·서명·아이콘 검사 통과(.cache/check-file-tree-search-final-head.log). +- 코어: 중첩/한글/자연 정렬/표시명과 실제명/숨김·패키지·심볼릭 링크 루프 제외,정확한 제한과 초과,하위 실패 유지·루트 오류,진행 중 취소·공백 검색의 읽기 없음. UI: native target-action→검색,상대 경로/동명 파일,각 결과 URL과 해당 파일의 식별자 일치,새로고침 검색 유지,지우기/폴더 Enter/탐색 초기화,늦게 끝난 검색 무시,두 모드의 최소280pt 컨트롤·파일 행 hit-test를 확인했다. NSURL/URL의 /private/var 표현 차이는 실제 파일 식별자로 비교했다. +- F-SEARCH-RELATIVE-PATH: 첫 구현의 접두사 제거가 canonical URL에서 실패해 두 README가 같은 이름으로 보였다. 테스트에서 실패를 확인하고 순회 상대 경로로 고쳤다. 최종 실제 앱에서도 docs/README.md와 README.md가 구분된다. +- F-SEARCH-KEYBOARD: 실제 Tab→Down→Return이 선택만 하고 폴더를 열지 않던 상태를 발견했다. plain Return/keypad Enter를 기존 doubleAction에 연결한 뒤 native key event 검사와 실제 앱에서 폴더 열기/검색 초기화를 확인했다. +- 실제 앱: 기본1100×752pt와최소842×442pt(파일 패널280pt),두 모드의 새 최종 커밋 화면을 확인했다. 공개 fixture에서 입력에 따른 갱신,대소문자/동명 경로/한글 붙여넣기,0건과지우기 복구,키보드 폴더 열기,501개 제한/끝 스크롤,루트 오류/경로·다운로드 복구를 실행했다. 최종 검색 입력은 같은 텍스트를 field editor에 다시 쓰지 않도록 해 caret/조합을 유지한다. 실제 한국어 IME의 모든 조합 경로를 새로 검증했다고 주장하지 않는다. +- 파일 드래그: 실제 포인터 드래그를 시도했지만 CUA가 noWindowsAvailable을 반환하거나 경로 삽입이 나타나지 않았다. 이번 실행의 포인터 드래그 종단 성공은 미확인이다. 이전 파일 드롭 검증 기록과 현재 outline writer/터미널 입력 구현은 유지하며,새 결과별 native URL과 실제 파일의 동일성은 자동 검사했다. 이 제한을 새 드래그 성공으로 표현하지 않는다. +- 최종 앱은 라이트 모드·기존 다운로드 루트·검색어 없음·기본 창 크기로 복구했다. 공개 캡처에는 개인 Downloads 항목을 포함하지 않았다. 이전 레이아웃/셸/파일 드롭의 검증 범위는 역사적 기록으로 보존한다. + +## 실제 최종 커밋 화면 + +![라이트 모드 동명 파일 검색](images/file-search-results-light.jpg) + +![다크 모드 동명 파일 검색](images/file-search-results-dark.jpg) + +![최소 창의 많은 결과와 제한 안내](images/file-search-minimum-limit.jpg) + +![최소 창에서 루트 읽기 오류](images/file-search-root-error.jpg) diff --git a/design/evidence/images/file-search-minimum-limit.jpg b/design/evidence/images/file-search-minimum-limit.jpg new file mode 100644 index 0000000..0644240 Binary files /dev/null and b/design/evidence/images/file-search-minimum-limit.jpg differ diff --git a/design/evidence/images/file-search-results-dark.jpg b/design/evidence/images/file-search-results-dark.jpg new file mode 100644 index 0000000..4b8a8bb Binary files /dev/null and b/design/evidence/images/file-search-results-dark.jpg differ diff --git a/design/evidence/images/file-search-results-light.jpg b/design/evidence/images/file-search-results-light.jpg new file mode 100644 index 0000000..ba21ae5 Binary files /dev/null and b/design/evidence/images/file-search-results-light.jpg differ diff --git a/design/evidence/images/file-search-root-error.jpg b/design/evidence/images/file-search-root-error.jpg new file mode 100644 index 0000000..8d07187 Binary files /dev/null and b/design/evidence/images/file-search-root-error.jpg differ diff --git a/design/failure-events.jsonl b/design/failure-events.jsonl index c67e712..3a88aec 100644 --- a/design/failure-events.jsonl +++ b/design/failure-events.jsonl @@ -54,3 +54,6 @@ {"status": "PASS", "errors": [], "failures": [], "catalog_version": 5, "catalog_sha256": "9af51eedfbd6625fdcae46aa6a55e6206c447fe43b23fb1d0ff61f8ac800114f", "contract_sha256": "2e42f744dd1fb74bad9c86ee11cfbb0d3b59f77688b98a6074c5991d1cd4a6dd", "target_sha256": "2b22383fcfae608386788e3e46c3cee94705cf0d18adc75299f9bf9c23140af2", "results": [{"id": "ORC-F01", "status": "pass", "reason": "오른쪽 파일 트리와 터미널 본문은 같은 mode.background를 사용하고 헤더도 동일 neutral 역할이다. E-T1/8/9의 두 모드·최소 창에서 밝기/톤 분리를 확인했다. 이 규칙은 새 사이드바 때문에 적용 대상으로 바꿨다.", "evidence": [{"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-F02", "status": "pass", "reason": "사용자 요청으로 terminal pane와 파일 경로 입력의 파란 외곽선을 없애도 공통 layout/edit/native 버튼 선택의 accent는 남는다. 경로 caret/selection을 유지하며 두 모드 실제 클릭/편집을 대조했다.", "evidence": [{"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}]}, {"id": "ORC-F03", "status": "exception", "reason": "두 모드의 경로 글자/선택/caret 대비를 실제 확인했다. 사용자 요청으로 경로 field 외곽 focus ring만 제거했고 기존 terminal 입력 커서와 다른 native 컨트롤의 초점은 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}], "exception_id": "CHOP-ORC-F03"}, {"id": "ORC-F04", "status": "exception", "reason": "각 중앙 +는 서로 다른 칸을 대상으로 한다. 같은 동작의 macOS 메뉴/단축키는 키보드 접근을 위해 유지한다. 콘텐츠에 전역 CTA를 반복하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}], "exception_id": "CHOP-ORC-F04"}, {"id": "ORC-F05", "status": "not-applicable", "reason": "파일 트리는 단일 이름과 폴더 계층을 표시하는 native outline이며 3속성 비교나 다수 엔티티의 카드 grid가 아니다. 20개 이상 행에서도 표 대신 카드를 늘리는 조건에 해당하지 않는다.", "evidence": []}, {"id": "ORC-F06", "status": "pass", "reason": "파일/터미널 헤더는 같은 neutral 배경 역할이다. 폴더/doc 기호와 이름은 항목 종류를 나타내고 임의 상태 색은 배정하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-F07", "status": "pass", "reason": "페이지 hero/대제목이 없다. 네이티브 창 제목과 14pt 칸 라벨이 터미널의 작업 공간을 밀어내지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}]}, {"id": "ORC-F08", "status": "exception", "reason": "파일 바로가기는 다른 세 목적지의 전체 행 버튼이다. 파일 목록 매 행에 반복 액션을 붙이지 않고 기존 선택/문맥 메뉴를 유지한다. 실제 세 목적지 클릭을 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}], "exception_id": "CHOP-ORC-F08"}, {"id": "ORC-F09", "status": "not-applicable", "reason": "canvas와 파일 트리는 공통 toolbar 아래 같은 본문 높이를 채운다. dashboard widget 열과 아래 full-width section의 높이 불일치 조건은 없다.", "evidence": []}, {"id": "ORC-F10", "status": "pass", "reason": "바로가기의16pt aspect-fit 아이콘과14pt 이름을 동일 세로 중앙/고정 시작선으로 배치했다. 두 모드·최소 창 실제 화면에서 glyph 고유 폭에 따른 어긋남을 수정해 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-F11", "status": "not-applicable", "reason": "새 파일 트리에 빨강/초록 같은 의미 색을 텍스트에만 적용한 status icon+text 조합이 없다. neutral 종류 아이콘/이름의 위계와 OS 전체 행 선택은 semantic colored status pair가 아니다. 사용자 VT 색은 앱 UI 밖이다.", "evidence": [{"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "ORC-F12", "status": "pass", "reason": "기존 panel inset12/그룹 간8을 유지하고 바로가기 내부는 row28/gap4/icon16/name-gap8로 선택했다. 실제 최소 창/빈·긴 목록에서 중복 여백·겹침이 없었다. 바로가기 묶음 내부8pt를 추가하고108pt 높이를 실제 최소/기본 창에서 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}]}, {"id": "ORC-F13", "status": "exception", "reason": "이동 손잡이는 native openHand cursor를 제공한다. 다른 native 버튼·splitter는 기존 플랫폼 커서를 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}], "exception_id": "CHOP-ORC-F13"}, {"id": "ORC-F14", "status": "not-applicable", "reason": "Swift/AppKit 소스에 HTML div/span/nav 구조가 없다. 네이티브 의미·AX 이름과 실제 행동은 RUI-06/PROJECT 규칙으로 검사한다.", "evidence": []}, {"id": "ORC-F16", "status": "pass", "reason": "세 바로가기는 고정 높이의 목적지 행이고 외부 scroller를 추가하지 않았다. 실제 빈 폴더는 scrollbar가 없고 긴 파일 목록만 기존 native scroll을 표시했다. 이번 overflow canvas는 실제 pane 최소 크기 때문에만 native 스크롤하며 반대 축 불필요 scroller를 legacy 회귀와 실제 두 모드로 검증했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}]}, {"id": "ORC-F15", "status": "pass", "reason": "반복 칸에 서로 다른 임의 색을 배정하지 않는다. 사용자 요청으로 pane 입력 포커스 테두리는 제거하고 native 선택·버튼/메뉴와 유효 드롭 대상의 system accent만 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}]}, {"id": "ORC-G01", "status": "pass", "reason": "Sources와 terminal*.conf에 사용자 정의 gradient가 없다. 라이트 흰색/사용자가 요청한 다크 1E2026 canvas가 실제 화면에서 평면이다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "ORC-G02", "status": "exception", "reason": "앱 자체 shadow를 만들지 않는다. macOS 창/메뉴/표준 컨트롤의 시스템 그림자는 플랫폼 예외로 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}], "exception_id": "CHOP-ORC-G02"}, {"id": "ORC-G03", "status": "exception", "reason": "56pt 원형 중앙 +와 네이티브 컨트롤/윈도우 곡률은 사용자 핵심 조작 및 플랫폼 예외다. CSS px 곡률을 macOS pt로 측정했다고 주장하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}], "exception_id": "CHOP-ORC-G03"}, {"id": "ORC-G04", "status": "pass", "reason": "기존 light white/dark1E2026 본문, header F3F4F6/292D35를 새 패널에서도 재사용한다. native accent/selection 외 임의 색을 추가하지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-G05", "status": "exception", "reason": "hover 장식은 없다. 사용자가 요청한 직접 드래그/배치 transform0.18초와 source alpha0.35만 허용한다. 사용자가 최신 모션을 직접 확인했다. Reduce Motion 분기는 코드 확인이며 해당 시스템 설정의 체감 검증을 주장하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}], "exception_id": "CHOP-ORC-G05"}, {"id": "ORC-G06", "status": "exception", "reason": "새 바로가기 이름은 ChopStyle14pt medium, glyph는 SF14pt config를16pt box에 aspect-fit한다. native OS chrome 예외와 CSS px/pt 구별을 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}], "exception_id": "CHOP-ORC-G06"}, {"id": "ORC-G07", "status": "pass", "reason": "바로가기 내부4/8/16/28과 부모 inset12는 기존4pt 스케일이다. native font/glyph 광학 여백과 실제 고정 열을 구분해 두 모드 최소/기본 창에서 대조했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G08", "status": "pass", "reason": "요청한 아이콘+이름을 세로 목적지 행으로 배치해 최소280pt 폭에서도 읽힌다. 기존 header/path 뒤의92pt 그룹 아래 나머지는 실제 가변 파일 목록이며 빈 상태에 장식을 채우지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G09", "status": "pass", "reason": "새 SF 아이콘은 파일 종류·폴더 선택·갱신·패널 개폐에 대응한다. 장식 그림이나 무관한 지표를 추가하지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-G10", "status": "pass", "reason": "terminal/file 헤더가 동일 mode.headerBackground/foreground와 공통 행을 소비한다. 두 모드 실제 화면에서 header 사이 기능 경계의 색 틈이 없어 같은 표면으로 읽힌다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}]}, {"id": "ORC-G11", "status": "exception", "reason": "일반/편집/폭 변경의 실제 화면에서 terminal/file 제목·경로·아이콘이 같은 중앙선에 놓이고 읽혔다. 글자/본문 치수는 바꾸지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}], "exception_id": "CHOP-ORC-G11"}, {"id": "ORC-G12", "status": "exception", "reason": "칸마다 대상이 다른 +를 제공하고 콘텐츠 전역 CTA는 반복하지 않는다. 메뉴/단축키 동등 경로는 macOS 키보드 접근성 예외다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}], "exception_id": "CHOP-ORC-G12"}, {"id": "ORC-G13", "status": "not-applicable", "reason": "새 파일 목록은 native hierarchy/한 이름 속성으로 표시하며20개 이상 비교 항목을 카드 grid로 만든 구성이 없다. terminal viewport는 독립 PTY다.", "evidence": []}, {"id": "ORC-G14", "status": "pass", "reason": "앱이 임의 빨강/초록 상태를 만들지 않는다. 창 닫기와 확인은 macOS 표준이며 셸의 사용자 프로그램 색은 별도다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "ORC-G15", "status": "pass", "reason": "24px를 넘는 웹 page title에 해당하는 자체 대제목이 없다. 제품명은 네이티브 창 제목으로만 표시한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}]}, {"id": "ORC-G16", "status": "exception", "reason": "파일 행 조작은 선택/문맥 메뉴에 둔다. 폴더 선택/갱신은 파일 header, 전역 개폐는 toolbar, 칸 조작은 칸에 속한다. E-T7/11 실제 입력을 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}], "exception_id": "CHOP-ORC-G16"}, {"id": "ORC-G17", "status": "not-applicable", "reason": "파일 트리와 canvas가 body 전체 높이를 채운다. 아래 full-width dashboard section이 없어 widget 열 높이 불균형 규칙은 적용되지 않는다.", "evidence": []}, {"id": "ORC-G18", "status": "pass", "reason": "house/arrow.down.circle/doc의 다른 고유 폭이 이름 시작선을 바꾸지 않게16pt icon 열과8pt 간격을 적용했다. 실제 glyph/name 중앙과 세 목적지 행동을 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G19", "status": "not-applicable", "reason": "의미 색 글자와 다른 색 아이콘으로 구성한 status pair가 없다. 파일 종류의 neutral icon/name 위계는 semantic color 불일치 조건과 다르다. 전체 header mode 적용은 별도 appearance 규칙으로 검사한다.", "evidence": [{"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "ORC-G20", "status": "pass", "reason": "동일28pt 행/4pt 간격/16pt icon/8pt 이름 간격을 공유한다. 실제 기본/최소 창과 빈·긴 목록에서 부모 padding 중첩 없이 정렬됐다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G21", "status": "exception", "reason": "이동 조작에는 native openHand, 버튼·splitter에는 기존 AppKit 커서를 사용한다. 웹의 pointer 모양을 macOS에 강제하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}], "exception_id": "CHOP-ORC-G21"}, {"id": "ORC-G22", "status": "not-applicable", "reason": "badge/tag/status palette가 없으며 상태마다 색을 배정하는 기능을 만들지 않았다.", "evidence": []}, {"id": "ORC-G23", "status": "pass", "reason": "바로가기 그룹 자체는 스크롤하지 않으며 빈 임시 폴더에 불필요한 scroller가 없다. 실제 긴 Downloads 목록은 native scroll을 유지하고 최소 창에서도 조작을 가리지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G24", "status": "not-applicable", "reason": "HTML semantic markup 검사는 AppKit 소스에 해당하지 않는다. 네이티브 버튼/메뉴/텍스트 입력 의미는 별도로 검사했다.", "evidence": []}, {"id": "ORC-A01", "status": "pass", "reason": "모든 요소에 같은 rounded 스타일을 적용하지 않았다. 네이티브 원형 추가, 작은 버튼, 사각 terminal canvas가 역할별로 다르다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}]}, {"id": "ORC-A02", "status": "exception", "reason": "사용자가 선택하는 평면 라이트 white/다크 1E2026를 제품 계약에 반영했다. G01과 충돌하는 micro-gradient/texture는 추가하지 않는 예외를 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}], "exception_id": "CHOP-ORC-A02"}, {"id": "ORC-A03", "status": "exception", "reason": "앱 소유 shadow 코드는 없다. NSAlert/메뉴/창과 버튼의 표준 시스템 깊이는 AppKit 예외다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}], "exception_id": "CHOP-ORC-A03"}, {"id": "ORC-A04", "status": "exception", "reason": "임의 blue-500을 추가하지 않는다. 사용자 명시 요청으로 terminal pane와 파일 경로 field의 focus outline을 표시하지 않지만 caret/선택과 toolbar/native 버튼 초점·drag 대상은 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}], "exception_id": "CHOP-ORC-A04"}, {"id": "ORC-A05", "status": "exception", "reason": "균등 1/2/4 배치는 사용자가 요청한 핵심 프리셋이다. 고정 대칭을 강요하지 않으며 실제 680pt 드래그와 재귀 분할로 비대칭이 가능하다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}], "exception_id": "CHOP-ORC-A05"}, {"id": "ORC-A06", "status": "exception", "reason": "한국어 제품이지만 쇼핑 정보 공간이 아니다. 빈 칸 중앙 +와 나머지 입력 공간은 사용자가 요청한 터미널 배치 과제다. 정보 없는 가격/배지를 채우지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}], "exception_id": "CHOP-ORC-A06"}, {"id": "ORC-A07", "status": "exception", "reason": "바로가기에 아이콘만 남기지 않고 기존 한국어 목적지 이름을 함께 표시한다. native button AX 이름/tooltip을 보존하고 아이콘·글자·빈 행 영역이 같은 동작을 실행한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}], "exception_id": "CHOP-ORC-A07"}, {"id": "ORC-A08", "status": "not-applicable", "reason": "사진·제품 이미지·이미지 placeholder를 사용하는 화면이 없다.", "evidence": []}, {"id": "ORC-A09", "status": "exception", "reason": "동일 역할 terminal 칸은 사용자 요청 grid이며 상품 카드가 아니다. 한 칸을 임의 featured 카드로 만드는 대신 사용자가 확대/분할 크기를 선택한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}], "exception_id": "CHOP-ORC-A09"}, {"id": "ORC-A10", "status": "exception", "reason": "실제 async loading/빈 폴더/없는 경로 오류/복구/늦은 응답 거절을 확인했다. OS open 대기 조합은 별도 관찰로 남기고 다른 경로/폴더 선택기로 복구했다. 상태 문구가 실제 읽기 상태와 일치한다. CodeRabbit의 개별 metadata 실패 전파를 확인해 이름/leaf fallback으로 수정했다. 오류 주입 회귀 검사와 최신 앱의 일반 폴더 표시/펼치기로 재검증했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}], "exception_id": "CHOP-ORC-A10"}, {"id": "RUI-01", "status": "pass", "reason": "사용자 Finder crop의 image-px와 Chop의 macOS pt를 구별했다.16pt box/14pt glyph/28pt row는 선택값이며 원본의 전체 창·배율·미관측 상태를 복원했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-02", "status": "pass", "reason": "기존 ChopStyle14pt와 동적 labelColor를 실제 바로가기 label/icon에 적용한다. 고정 icon box는 원본 비율을 보존하며 terminal/header 토큰은 바꾸지 않는다. 앱 아이콘은 이후 제공된 원본 색을 그대로 쓰고 UI/header/native accent 토큰을 확장하거나 바꾸지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "RUI-03", "status": "pass", "reason": "사용자 요청의 path field focus-ring 제거를 terminal-only 예외와 구분해 추가했다. 나머지 active 규칙과 과거 실패를 보존하며 헤더/바로가기/파일 드래그 요청을 이 PR에서 완료했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}]}, {"id": "RUI-04", "status": "pass", "reason": "홈 아이콘 포인터 클릭과 문서/다운로드 실제 클릭으로 각 목적지 경로가 바뀌는 것을 확인했다. native full-row hit/AX 버튼 역할과16개 기존 경로/PTY 검사를 보존한다. 파일 드롭의 실제 사용자 조작 후 endpoint를 AX로 확인했으며 Enter 미전송은 실제 PTY 검사로 별도 확인했다. 이번 단일 탭 보기는 실제4셸 전환/ENV 보존/추가·닫기/가로 탐색/복원을 확인했다. 실제4/5셸 좌우/격자/탭 전환과 keyboard/manual scroll, ENV 보존 및 확대를 확인했다. 상하4/5셸 전환과 모든 모드 연속 전환/ENV 유지/Scroll Up·keyboard focus/재실행을 실제 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}]}, {"id": "RUI-05", "status": "pass", "reason": "Ghostty 엔진과 cmux 기능 아이디어를 Chop의 중앙 칸 추가에 연결했다. 사이드바 표면 복제로 대체하지 않았고 실제 다섯 번째 터미널을 열었다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "RUI-06", "status": "pass", "reason": "바로가기 native button 구성·hitTest/AX 의미를 셀프 리뷰했다. strict format/build/signature와 전체16개 테스트4.907초 및 실제 목적지 입력을 확인했다. 파일 드롭 source/대상 수명·인용을 셀프 리뷰했고19개 검사4.111초와 최신 원격 CI가 통과했다. 좌우↔탭 실제 전환에서 발견한 display-cycle crash를 다음 main queue 크기 정리로 수정하고 실제5회 왕복과22개 검사를 다시 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}]}, {"id": "RUI-07", "status": "pass", "reason": "파일 header/path 아래 목적지 묶음과 그 아래 파일 outline의 계층을 유지한다. 사용자 crop의 왼쪽 icon+이름 관계를 최소 폭에서도 읽히도록 세로 행으로 적용했다. 바로가기만 중립 surface로 구분해 목적지 묶음과 실제 파일 contents의 계층을 명확히 했다. 단일 모드에서는 중복 pane header 대신 같은40pt 가로 탭 행을 file header와 정렬하며 toolbar 계층을 보존한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}]}, {"id": "RUI-08", "status": "pass", "reason": "이름 Chop은 사용자 제공이며 창 제목으로 쓴다. 별도 로고/워드마크/캐릭터/슬로건을 만들지 않았다. SF 기호는 기능 버튼이다. 이후 사용자가 직접 제공한 열매 로고를 앱 아이콘에만 적용했다. 원본 SHA/cmp를 보존하고 임의 캐릭터/슬로건을 새로 만들지 않았다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "RUI-09", "status": "exception", "reason": "바로가기 라벨은 system14pt medium을 재사용한다.16pt icon box와 native 버튼 높이를 글자 크기로 오인하지 않으며 작은 자체 보조 문구를 추가하지 않았다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}], "exception_id": "CHOP-RUI-09"}, {"id": "RUI-10", "status": "pass", "reason": "세 바로가기는 이름이 명시된 목적지 행이며 CTA나 새 navigation 탭이 아니다. native NSButton target-action/tooltip/AX 이름과 실제 폴더 이동을 유지한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-11", "status": "pass", "reason": "파일 제목과 직접 경로를 표시하고 매 행에 설명을 붙이지 않는다. loading/empty/error는 실제 해당 상태에서만 나타나며 실패 후 입력/선택/새로고침으로 복구한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "RUI-12", "status": "exception", "reason": "사용자 Finder crop와 SF Symbols 출처를 기록했다. 홈=house/다운로드=arrow.down.circle/문서=doc 의미·방향과 실제 목적지 행동을 대조했고 image를 비율 유지해 표시한다. 앱 아이콘은 기능 SF 기호와 구분해 사용자 원본/관찰한 macOS crop/Apple HIG 근거 및 실제 bundle/정보 창/Finder 소비를 기록했다. 기존 native SF 예외는 그대로다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}], "exception_id": "CHOP-RUI-12"}, {"id": "RUI-13", "status": "pass", "reason": "세로 행으로 바꾼 뒤 최소842×442pt에서 header/path/세 바로가기와 파일 목록이 가려지지 않는 것을 두 모드로 확인했다. 빈 상태는 scrollbar 없이, 긴 파일 목록은 기존 native scroll로 표시한다. 108pt 묶음과 기존 header/path/목록이 두 모드 최소842×442에서도 가려지지 않았다. 탭 overflow와 긴 이름/681×432 최소 창을 두 모드에서 확인했고 크기 변경 후 선택 탭을 드러내도록 수정했다. 실제 두 모드/최소842×442에서 모든 칸에 가로 탐색/키보드 focus로 접근하며 창을 화면 밖으로 강제 확대하지 않는다. 상하 모든 pane을 유지하며 두 모드1100×752/최소681×442에서 세로 scroll로 접근하고 불필요한 가로 scroller는 생기지 않았다. 사용자 리사이즈 교정 후 tile 직전 viewport 기준으로 축을 정해 들어가는 canvas의 불필요한 손잡이를 제거했다. 실제 두 모드/최소/반복 크기 변경과70회 동기 경계 회귀를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "RUI-14", "status": "exception", "reason": "새 장식 바를 만들지 않고 기능 divider의 header 부분만 동일 배경으로 채운다. 본문 resize hit 영역을 유지하며 숨김 때 divider와 잔상이 없다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}], "exception_id": "CHOP-RUI-14"}, {"id": "RUI-15", "status": "not-applicable", "reason": "파일 계층 목록 옆은 독립 terminal canvas이며 제품 채팅/메시지 전송 공간이 아니다. 대화/채팅 목록의 공간 경쟁 규칙 조건은 없다.", "evidence": []}, {"id": "RUI-16", "status": "pass", "reason": "Finder crop의 같은 icon 열/이름 시작선·세로 행 관계를 실제 구현에 연결했다. 한국어 세 목적지는 기존 요청을 유지하고 glyph 폭 어긋남을 실제 화면에서 수정했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/references/default-grid-user.png", "sha256": "a6458f33e04bf5250cce326ae91d14ac60e2a092d78fa55b00d84716e4efd45f"}, {"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-17", "status": "pass", "reason": "초기 image-leading/size만으로는 이름 정렬이 맞지 않는 것을 실제 화면에서 발견해 고정16pt icon 열로 수정했다. 두 모드/최소 창/실제 목적지·빈 목록의 전체 조합으로 다시 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/references/default-grid-user.png", "sha256": "a6458f33e04bf5250cce326ae91d14ac60e2a092d78fa55b00d84716e4efd45f"}, {"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-18", "status": "pass", "reason": "새 사용자 Finder crop의 관찰과 Chop 각색 결정을 별도 기록하고 실제 파일 탐색 소비 화면을 검증했다. 기존 engine/cmux/canvas 출처와 toolbar/body 계층을 유지한다. 앱 브랜딩의 사용자 원본/둥근 crop 관찰과 Apple HIG를 연결하고 chosen mask 수치와 원본 보존을 구분해 실제 정보 창/Finder에서 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "RUI-19", "status": "not-applicable", "reason": "macOS 데스크톱 제품이며 모바일 destination tab/safe area/하단 navigation이 없다.", "evidence": []}, {"id": "RUI-20", "status": "pass", "reason": "이름 변경/오류/닫기 목적 제목은 native NSAlert heading이며 입력/설명보다 위계가 높다. 실제 폴더/작업 닫기 경고 화면에서 제목·본문·버튼이 읽혔다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "RUI-21", "status": "not-applicable", "reason": "날짜·시간 선택형 입력이 없다.", "evidence": []}, {"id": "RUI-22", "status": "pass", "reason": "부모 inset12·그룹 간8과 내부 row28/gap4/icon16/name-gap8의 소유를 구별한다. 실제 빈/긴 목록·최소/기본 창에서 padding 중첩이나 잘림이 없다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "RUI-23", "status": "exception", "reason": "바로가기만 같은14pt/동적 labelColor/네이티브 버튼 역할 안에서 바꿨다. 사용자 요청의 path field/pane focus-ring 생략과 실제 caret/selection, native 버튼/메뉴 의미는 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}], "exception_id": "CHOP-PATH-FOCUS-RUI23"}, {"id": "RUI-24", "status": "pass", "reason": "파일 제목은 탐색 영역 이름이고 행 이름은 실제 항목이다. 경로를 매 행에 반복하거나 loading/empty 상태를 배지로 중복하지 않는다. tooltip/AX 전체 경로는 접근/긴 경로 보완이다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "RUI-25", "status": "pass", "reason": "path→세 목적지 행→파일 outline 순서로 탐색 소속을 유지한다. 목적지 이름을 별도 설명/배지로 반복하지 않고 공통 toolbar 아래 peer 구조와 header 연결을 보존한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "PROJECT-CENTER", "status": "pass", "reason": "기본은 첫 셸 1개와 세 개의 중앙 +다. 실제 2/3/4번 +를 차례로 눌러 PTY가 하나씩 열리고 첫 셸은 유지되는 것을 확인했다. 편집 중 실행 칸 +의 방향 추가 기능도 유지한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "PROJECT-LAYOUT", "status": "pass", "reason": "새 body split은 global toolbar 아래에만 설치하며 terminal canvas 내부 geometry/model을 유지한다. panel min280과 layout min을 합산하고 화면에 들어가지 않는 추가/열기를 거절한다. 최소 창·개폐·geometry 테스트와 실제 교환을 확인했다. 이번 PR은 단일 보기의1칸 제한만 해제하고 layout/surface를 모두 보존하는 presentation을 추가했다. 좌우/상하의 기존 제한은 후속 PR이다. 이후 좌우/격자의 모든 pane 보존 요구에 맞춰 실제 문서 최소/viewport 최소를 분리하고 화면 공간에 따른 추가 거절을 native overflow로 대체했다. 상하는 다음 PR이다. 이후 상하 전환도 같은 모든-pane 보존 경로로 통일해 마지막 fixed-capacity 축소/빈 칸 삭제를 제거했다. 모든 표시 모드가 기존 터미널 수로 전환을 막지 않는다. 현재 viewport에 들어가는 격자는 크기 왕복과 좌우/상하/탭 전환 뒤에도 이전 문서 크기/17pt 빈 가장자리를 남기지 않는 것을 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}]}, {"id": "PROJECT-MANAGE", "status": "pass", "reason": "새 파일 탐색과 panel 개폐는 기존 canvas/view/surface를 재사용한다. 실제 PID/변수 보존, terminal zoom과11→16 교환/원위치 복원, 자동 surface/focus 검사로 확인했다. 경로 탐색은 셸 cwd를 바꾸지 않는다. 파일 드롭 시 기존 target focus/surface·다른 셸 유지와 닫힌 대상 거절을 PTY로 확인했다. 실제 단일 탭 전환 전후 같은 ENV를 출력했고 자동 검사에서4개 surface/포커스 유지와5번째 추가·닫기를 확인했다. 4/5셸의 surface/포커스/ENV·순서를 유지하고 실제 keyboard scroll/five roundtrips/zoom 복귀를 확인했다. 상하4/5셸의 실제 ENV 보존과 자동 surface/UUID/viewport focus를 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-CLOSE", "status": "pass", "reason": "실행 중 foreground 작업은 닫기/창 닫기/quit 전에 확인한다. 실제 sleep 닫기 취소와 Ctrl+C, 다중 셸 종료 취소를 실행했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "PROJECT-RESTORE", "status": "pass", "reason": "기존 session snapshot은 바꾸지 않고 file root/표시/폭만 별도 UserDefaults에 저장한다. 실제 사용자4칸 복원, 마지막 성공 루트만 저장하는 격리 테스트를 확인했다. 최종 재실행 OS open 대기와 선택기 복구는 E-T10 후속 기록에 명시한다. 이후 단일 탭 보기 요구에 따라 v1 snapshot에 optional tabbed 필드를 추가했다. 구 저장 decode/새 flag roundtrip과 실제 네 셸·선택 복원을 확인했다. 임의 개수 balanced split tree는 기존 Codable schema로 저장하고 실제4열 복원 및22개 roundtrip 검사를 확인했다. 실제 앱을 종료/재실행해 상하4행·6번 선택·네 셸 복원을 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-SCROLL", "status": "pass", "reason": "keyboard/menu 스크롤백을 실제 viewport와 UI로 확인하고 mouse selection을 실행했다. 휠 입력 코드는 연결돼 있으나 휠 실기는 도구 오류로 미검증이며 이 판정 범위에 포함했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "PROJECT-RENDER", "status": "pass", "reason": "Ghostty 소유 layer-hosting 순서와 실제 칸 크기를 적용해 동시 복원 glyph 누락을 수정했다. 최종 빌드 3개 셸 및 5번째 추가에서 정상 첫 줄/프롬프트를 직접 관찰했다. 새 sizing은 main queue 지연 대신 native tile 전에 문서를 맞춘다. 실제 모드/크기/확대·개폐 뒤 셸 ENV 유지와 새 crash report 없음,전체24개 검사를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}]}, {"id": "PROJECT-TRUTH", "status": "pass", "reason": "사용자 crop 원본 관찰·선택한 pt/각색·초기 정렬 실패/수정·실제 세 목적지 클릭을 구분했다.16개 검사와 실제 화면을 구별하며 새 파일 drag를 완료했다고 표시하지 않는다. 파일 드롭은 최초 CUA 놓기 대기와 후속 사용자 조작 후 실제 endpoint 관찰을 구분해 기록한다. 아이콘 원본 SHA/cmp, 폐기한 imagegen 후보, 선택한 native mask/작은 shadow 수정, 실제 About/Finder 표시와 자동 패키지 검사를 구분한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "interaction", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "interaction", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "PROJECT-DEFAULT", "status": "pass", "reason": "사용자 승인 기본값: 2×2로 시작해 좌상단 터미널 1을 즉시 실행하고 2·3·4번은 중앙 +로 연다. fresh/이전 단일 빈 저장/all-empty 저장/기존 사용 중 복원/중복 호출과 실제 순차 클릭을 검증했다. 실행 칸이 없는 저장에서는 이전 선택 위치와 무관하게 첫 칸에 포커스를 준다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/references/default-grid-user.png", "sha256": "a6458f33e04bf5250cce326ae91d14ac60e2a092d78fa55b00d84716e4efd45f"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}]}, {"id": "PROJECT-APPEARANCE", "status": "pass", "reason": "새 icon/label의 동적 labelColor와 기존 mode를 실제 기본/최소 창의 light/dark에서 확인했다. 기존 header/본문 및 path focus 예외는 유지한다. 바로가기 묶음도 기존 headerBackground를 두 모드에서 갱신하는 것을 실제 확인했다. 새 탭/선택/넘침과 복원된 단일 보기에서도 두 모드 토큰과 native 강조를 실제 확인했다. 새 overflow canvas는 투명 native scroll 배경 안의 기존 두 모드 terminal/header를 유지하며 최소/기본 창을 실제 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-TOOLBAR-ICONS", "status": "pass", "reason": "기존 네 preset/편집/mode 아이콘에 파일 트리 toggle을 같은 global toolbar에 추가했다. 실제 개폐/⌘⇧E/menu와 AX 다음 동작, 두 모드 최소 창에서 접근/겹침을 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "fc1333f1b9ab7416cb64a3035675dcf05ddd08d4ccc28860b5c7dadfb167318f"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "PROJECT-REORDER", "status": "pass", "reason": "새 body wrapper가 있는 최종 앱에서 포인터로11→16 교환했고 같은 출력/AX focus를 유지했다. 키보드 역교환 뒤 원래 사용자4칸 순서로 복구했다. preview/PTY identity 자동 검사를 통과했고 기존 drag 구현 자체는 바꾸지 않았다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "PROJECT-HEADER-BACKGROUND", "status": "pass", "reason": "파일/terminal header의 mode별 배경/전경·40pt·공통 행 구성을 적용한다. 상단 경계도 같은 배경으로 연결하며 두 모드·일반/편집·resize를 실제 확인했다. 단일 보기에서는 중복 pane header를 접고 같은40pt header surface를 가로 탭으로 표시해 file header와 같은 줄을 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-NO-FOCUS-BORDER", "status": "pass", "reason": "최종 파일 트리 표시/숨김/칸 이동 뒤 terminal pane 파란 border가 없고 실제 입력 cursor/AX 초점은 남는다. native file field/row 선택은 사용자 요청의 terminal-only 예외 밖이라 보존한다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "PROJECT-FILETREE", "status": "pass", "reason": "새 아이콘/이름 행에서 기존 홈·다운로드·문서 URL과 target-action을 그대로 쓴다. 실제 세 경로 이동·빈 폴더와 긴 목록을 확인했고 탐색/비동기/PTY는 바꾸지 않았다. 파일/폴더 행에 native file URL writer를 추가했고 파일 경로가 실제 terminal endpoint에 도달한 것을 확인했다. 새 묶음 안에서 실제 세 목적지 클릭과 빈/긴 목록을 확인했으며 탐색 로직은 유지한다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "interaction", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-FILETREE-HIERARCHY", "status": "pass", "reason": "canvas/file peer hierarchy와 header40pt를 유지하고 경계 상단 표면을 연결했다. 두 모드·폭300→340→300·숨김/재열기·편집 header와 기존 geometry/surface 검사16개를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-PATH-FOCUS", "status": "pass", "reason": "사용자 요청대로 외곽 focus ring 없이 실제 caret/selection/editing/Enter를 유지한다. 두 모드 실제 조작과 기존16개 검사를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "interaction", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-LOCATION-ICONS", "status": "pass", "reason": "사용자 Finder crop의 icon+이름 관계를16pt 열/8pt 간격으로 적용하고 세 목적지 실제 동작·빈/긴 목록·두 모드 최소 창을 확인했다. 기존 icon/name/hit/AX를 유지하고 묶음 padding 안의 같은 열 정렬과 세 목적지 동작을 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-FILE-DROP", "status": "pass", "reason": "실제 사용자 조작 후 clean 앱의 터미널11에서 fixture 파일 경로의 인용 입력을 AX로 확인했다. 최초 CUA 놓기 대기와 후속 endpoint 관찰을 구분한다. Enter 미전송·다른 칸/surface·닫힌 target·인용/거절은19개 자동 검사와 코드로 검증하며 물리 변형 전체를 실행했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}]}, {"id": "PROJECT-SHORTCUT-SECTION", "status": "pass", "reason": "기존 중립 header surface의 padding8/corner8 묶음으로 세 목적지를 구분했고 실제 두 모드·최소/기본 창·세 목적지 및 빈/긴 목록을 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-SINGLE-TABS", "status": "pass", "reason": "실제4셸·ENV 보존/새 탭/닫기/긴 이름·최소 창 가로 탐색/두 모드/재실행을 확인했고20개 검사로 surface/focus/legacy decode와 복원을 검증했다. resize 수정 뒤683×432 탭 보기의 외부 canvas에는 불필요한 축이 없음을 확인했다. 상단 탭 목록의 스크롤은 기존 별도 구현이다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속CI의7pt 가림을 발견해 스택 배치 후 실제 trailing edge까지 문서 폭에 포함했다.12가지 이름/두 스타일·모드와실제1배율683pt 창의64자 변경을 재검증했다.", "evidence": [{"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-ALL-COLUMNS", "status": "pass", "reason": "실제4/5셸의 native 전환/두 모드/최소 창/keyboard·manual scroll/ENV/확대와22개 검사를 확인했다. 발견한 불필요 축과 display-cycle crash를 수정하고5회 실제 왕복 및 최종 확대/복귀로 재검증했다. 후속 사용자 교정에서 비동기 sizing의 순간적 두 축을 발견해 viewport 기반 native tile 전 갱신으로 대체했다. 좌우는 가로만/격자 복귀는 없음,layout 내 수동 재타일링 없이 동기70회와실제3회 resize/기존 PTY 검사를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}]}, {"id": "PROJECT-ALL-ROWS", "status": "pass", "reason": "실제4/5셸 모든 모드와 ENV/두 모드·최소 창·세로 탐색/상하 복원 및22개 검사를 확인했다. 마지막 표시 모드별 cap/삭제 경로를 제거했다. 현재 resize 수정 뒤 상하 넘침은 세로 축만 두고 격자로 돌아오면 해제됨을 실제 최소 창에서 확인했다. legacy 손잡이가 다른 축을 실제로 요구하는 경계도 회귀 검사한다.", "evidence": [{"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}]}, {"id": "PROJECT-APP-ICON", "status": "pass", "reason": "원본 cmp/SHA 보존과10개 디코딩의 투명 모서리·본문 alpha를 확인했고 실제 두 모드 정보 창/Finder 표시 및22개 검사/번들 패키지 검사를 통과했다.", "evidence": [{"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "interaction", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "PROJECT-README-PRESENTATION", "status": "pass", "reason": "사용자 지정 Wratop README 구성을 참고하며 실제 Chop 기능과 원본 앱 스크린샷을 제공한다. GitHub에서 사진·배지·목차를 확인하고 소스 실행과 기존 제한을 보존한다. 앱 UI/기능은 변경하지 않았다.", "evidence": [{"kind": "spec", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}, {"kind": "code", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}, {"kind": "visual", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}, {"kind": "interaction", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}]}, {"id": "PROJECT-RESIZE-STABILITY", "status": "pass", "reason": "사용자 교정에 따라 tile 시점에 이전 문서/손잡이 폭을 남기지 않는다. 현재 전체 viewport와 문서 최소 크기에 필요한 축만 계산하고 실제 넘침은 유지한다. 수정 전 즉시 검사 실패,수정 후 두 스타일70회와실제두모드/최소/3회왕복/셸상태를 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}]}, {"id": "PROJECT-EMPTY-TAB-CENTER", "status": "pass", "reason": "빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-RENAME-CONTROLS", "status": "pass", "reason": "이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속CI의7pt 가림을 발견해 스택 배치 후 실제 trailing edge까지 문서 폭에 포함했다.12가지 이름/두 스타일·모드와실제1배율683pt 창의64자 변경을 재검증했다.", "evidence": [{"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-FILEBROWSER-ROW-SURFACE", "status": "pass", "reason": "후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}], "report_sha256": "09bf01ea57b445e2e3b99af4351d52592cbd2653aafc4e4fb4dbec5adb00ed93", "event_id": "29680196a59e2cb6ee7545973922456a8289a0d7e4497418eed2c6237065082c", "recorded_at": "2026-10-15T05:17:36.265384+00:00"} {"event_type": "user-feedback", "historical_status": "fail", "resolution": "fixed-and-verified", "evidence": "design/evidence/file-tree-soft-surface.md", "recorded_at": "2026-10-15T05:28:20.151150+00:00", "id": "F-TREE-SURFACE-CONTRAST", "source": "user", "summary": "파일트리 배경을 버튼색으로 맞춘 뒤 더 옅은 색상을 요청"} {"status": "PASS", "errors": [], "failures": [], "catalog_version": 5, "catalog_sha256": "9af51eedfbd6625fdcae46aa6a55e6206c447fe43b23fb1d0ff61f8ac800114f", "contract_sha256": "00e7115e48726fe9bd15bf22e667a7e2f6ece252a55362e3adad0a669dbc4ad0", "target_sha256": "21a3b173b86f54138c1cd0d396663aaccd67d179208ad14af3eb8cdc8d4bf5f5", "results": [{"id": "ORC-F01", "status": "pass", "reason": "오른쪽 파일 트리와 터미널 본문은 같은 mode.background를 사용하고 헤더도 동일 neutral 역할이다. E-T1/8/9의 두 모드·최소 창에서 밝기/톤 분리를 확인했다. 이 규칙은 새 사이드바 때문에 적용 대상으로 바꿨다.", "evidence": [{"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-F02", "status": "pass", "reason": "사용자 요청으로 terminal pane와 파일 경로 입력의 파란 외곽선을 없애도 공통 layout/edit/native 버튼 선택의 accent는 남는다. 경로 caret/selection을 유지하며 두 모드 실제 클릭/편집을 대조했다.", "evidence": [{"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}]}, {"id": "ORC-F03", "status": "exception", "reason": "두 모드의 경로 글자/선택/caret 대비를 실제 확인했다. 사용자 요청으로 경로 field 외곽 focus ring만 제거했고 기존 terminal 입력 커서와 다른 native 컨트롤의 초점은 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}], "exception_id": "CHOP-ORC-F03"}, {"id": "ORC-F04", "status": "exception", "reason": "각 중앙 +는 서로 다른 칸을 대상으로 한다. 같은 동작의 macOS 메뉴/단축키는 키보드 접근을 위해 유지한다. 콘텐츠에 전역 CTA를 반복하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}], "exception_id": "CHOP-ORC-F04"}, {"id": "ORC-F05", "status": "not-applicable", "reason": "파일 트리는 단일 이름과 폴더 계층을 표시하는 native outline이며 3속성 비교나 다수 엔티티의 카드 grid가 아니다. 20개 이상 행에서도 표 대신 카드를 늘리는 조건에 해당하지 않는다.", "evidence": []}, {"id": "ORC-F06", "status": "pass", "reason": "파일/터미널 헤더는 같은 neutral 배경 역할이다. 폴더/doc 기호와 이름은 항목 종류를 나타내고 임의 상태 색은 배정하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-F07", "status": "pass", "reason": "페이지 hero/대제목이 없다. 네이티브 창 제목과 14pt 칸 라벨이 터미널의 작업 공간을 밀어내지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}]}, {"id": "ORC-F08", "status": "exception", "reason": "파일 바로가기는 다른 세 목적지의 전체 행 버튼이다. 파일 목록 매 행에 반복 액션을 붙이지 않고 기존 선택/문맥 메뉴를 유지한다. 실제 세 목적지 클릭을 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}], "exception_id": "CHOP-ORC-F08"}, {"id": "ORC-F09", "status": "not-applicable", "reason": "canvas와 파일 트리는 공통 toolbar 아래 같은 본문 높이를 채운다. dashboard widget 열과 아래 full-width section의 높이 불일치 조건은 없다.", "evidence": []}, {"id": "ORC-F10", "status": "pass", "reason": "바로가기의16pt aspect-fit 아이콘과14pt 이름을 동일 세로 중앙/고정 시작선으로 배치했다. 두 모드·최소 창 실제 화면에서 glyph 고유 폭에 따른 어긋남을 수정해 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-F11", "status": "not-applicable", "reason": "새 파일 트리에 빨강/초록 같은 의미 색을 텍스트에만 적용한 status icon+text 조합이 없다. neutral 종류 아이콘/이름의 위계와 OS 전체 행 선택은 semantic colored status pair가 아니다. 사용자 VT 색은 앱 UI 밖이다.", "evidence": [{"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "ORC-F12", "status": "pass", "reason": "기존 panel inset12/그룹 간8을 유지하고 바로가기 내부는 row28/gap4/icon16/name-gap8로 선택했다. 실제 최소 창/빈·긴 목록에서 중복 여백·겹침이 없었다. 바로가기 묶음 내부8pt를 추가하고108pt 높이를 실제 최소/기본 창에서 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}]}, {"id": "ORC-F13", "status": "exception", "reason": "이동 손잡이는 native openHand cursor를 제공한다. 다른 native 버튼·splitter는 기존 플랫폼 커서를 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}], "exception_id": "CHOP-ORC-F13"}, {"id": "ORC-F14", "status": "not-applicable", "reason": "Swift/AppKit 소스에 HTML div/span/nav 구조가 없다. 네이티브 의미·AX 이름과 실제 행동은 RUI-06/PROJECT 규칙으로 검사한다.", "evidence": []}, {"id": "ORC-F16", "status": "pass", "reason": "세 바로가기는 고정 높이의 목적지 행이고 외부 scroller를 추가하지 않았다. 실제 빈 폴더는 scrollbar가 없고 긴 파일 목록만 기존 native scroll을 표시했다. 이번 overflow canvas는 실제 pane 최소 크기 때문에만 native 스크롤하며 반대 축 불필요 scroller를 legacy 회귀와 실제 두 모드로 검증했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}]}, {"id": "ORC-F15", "status": "pass", "reason": "반복 칸에 서로 다른 임의 색을 배정하지 않는다. 사용자 요청으로 pane 입력 포커스 테두리는 제거하고 native 선택·버튼/메뉴와 유효 드롭 대상의 system accent만 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}]}, {"id": "ORC-G01", "status": "pass", "reason": "Sources와 terminal*.conf에 사용자 정의 gradient가 없다. 라이트 흰색/사용자가 요청한 다크 1E2026 canvas가 실제 화면에서 평면이다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "ORC-G02", "status": "exception", "reason": "앱 자체 shadow를 만들지 않는다. macOS 창/메뉴/표준 컨트롤의 시스템 그림자는 플랫폼 예외로 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}], "exception_id": "CHOP-ORC-G02"}, {"id": "ORC-G03", "status": "exception", "reason": "56pt 원형 중앙 +와 네이티브 컨트롤/윈도우 곡률은 사용자 핵심 조작 및 플랫폼 예외다. CSS px 곡률을 macOS pt로 측정했다고 주장하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}], "exception_id": "CHOP-ORC-G03"}, {"id": "ORC-G04", "status": "pass", "reason": "기존 light white/dark1E2026 본문, header F3F4F6/292D35를 새 패널에서도 재사용한다. native accent/selection 외 임의 색을 추가하지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-G05", "status": "exception", "reason": "hover 장식은 없다. 사용자가 요청한 직접 드래그/배치 transform0.18초와 source alpha0.35만 허용한다. 사용자가 최신 모션을 직접 확인했다. Reduce Motion 분기는 코드 확인이며 해당 시스템 설정의 체감 검증을 주장하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}], "exception_id": "CHOP-ORC-G05"}, {"id": "ORC-G06", "status": "exception", "reason": "새 바로가기 이름은 ChopStyle14pt medium, glyph는 SF14pt config를16pt box에 aspect-fit한다. native OS chrome 예외와 CSS px/pt 구별을 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}], "exception_id": "CHOP-ORC-G06"}, {"id": "ORC-G07", "status": "pass", "reason": "바로가기 내부4/8/16/28과 부모 inset12는 기존4pt 스케일이다. native font/glyph 광학 여백과 실제 고정 열을 구분해 두 모드 최소/기본 창에서 대조했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G08", "status": "pass", "reason": "요청한 아이콘+이름을 세로 목적지 행으로 배치해 최소280pt 폭에서도 읽힌다. 기존 header/path 뒤의92pt 그룹 아래 나머지는 실제 가변 파일 목록이며 빈 상태에 장식을 채우지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G09", "status": "pass", "reason": "새 SF 아이콘은 파일 종류·폴더 선택·갱신·패널 개폐에 대응한다. 장식 그림이나 무관한 지표를 추가하지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-G10", "status": "pass", "reason": "terminal/file 헤더가 동일 mode.headerBackground/foreground와 공통 행을 소비한다. 두 모드 실제 화면에서 header 사이 기능 경계의 색 틈이 없어 같은 표면으로 읽힌다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}]}, {"id": "ORC-G11", "status": "exception", "reason": "일반/편집/폭 변경의 실제 화면에서 terminal/file 제목·경로·아이콘이 같은 중앙선에 놓이고 읽혔다. 글자/본문 치수는 바꾸지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}], "exception_id": "CHOP-ORC-G11"}, {"id": "ORC-G12", "status": "exception", "reason": "칸마다 대상이 다른 +를 제공하고 콘텐츠 전역 CTA는 반복하지 않는다. 메뉴/단축키 동등 경로는 macOS 키보드 접근성 예외다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}], "exception_id": "CHOP-ORC-G12"}, {"id": "ORC-G13", "status": "not-applicable", "reason": "새 파일 목록은 native hierarchy/한 이름 속성으로 표시하며20개 이상 비교 항목을 카드 grid로 만든 구성이 없다. terminal viewport는 독립 PTY다.", "evidence": []}, {"id": "ORC-G14", "status": "pass", "reason": "앱이 임의 빨강/초록 상태를 만들지 않는다. 창 닫기와 확인은 macOS 표준이며 셸의 사용자 프로그램 색은 별도다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "ORC-G15", "status": "pass", "reason": "24px를 넘는 웹 page title에 해당하는 자체 대제목이 없다. 제품명은 네이티브 창 제목으로만 표시한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}]}, {"id": "ORC-G16", "status": "exception", "reason": "파일 행 조작은 선택/문맥 메뉴에 둔다. 폴더 선택/갱신은 파일 header, 전역 개폐는 toolbar, 칸 조작은 칸에 속한다. E-T7/11 실제 입력을 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}], "exception_id": "CHOP-ORC-G16"}, {"id": "ORC-G17", "status": "not-applicable", "reason": "파일 트리와 canvas가 body 전체 높이를 채운다. 아래 full-width dashboard section이 없어 widget 열 높이 불균형 규칙은 적용되지 않는다.", "evidence": []}, {"id": "ORC-G18", "status": "pass", "reason": "house/arrow.down.circle/doc의 다른 고유 폭이 이름 시작선을 바꾸지 않게16pt icon 열과8pt 간격을 적용했다. 실제 glyph/name 중앙과 세 목적지 행동을 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G19", "status": "not-applicable", "reason": "의미 색 글자와 다른 색 아이콘으로 구성한 status pair가 없다. 파일 종류의 neutral icon/name 위계는 semantic color 불일치 조건과 다르다. 전체 header mode 적용은 별도 appearance 규칙으로 검사한다.", "evidence": [{"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "ORC-G20", "status": "pass", "reason": "동일28pt 행/4pt 간격/16pt icon/8pt 이름 간격을 공유한다. 실제 기본/최소 창과 빈·긴 목록에서 부모 padding 중첩 없이 정렬됐다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G21", "status": "exception", "reason": "이동 조작에는 native openHand, 버튼·splitter에는 기존 AppKit 커서를 사용한다. 웹의 pointer 모양을 macOS에 강제하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}], "exception_id": "CHOP-ORC-G21"}, {"id": "ORC-G22", "status": "not-applicable", "reason": "badge/tag/status palette가 없으며 상태마다 색을 배정하는 기능을 만들지 않았다.", "evidence": []}, {"id": "ORC-G23", "status": "pass", "reason": "바로가기 그룹 자체는 스크롤하지 않으며 빈 임시 폴더에 불필요한 scroller가 없다. 실제 긴 Downloads 목록은 native scroll을 유지하고 최소 창에서도 조작을 가리지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G24", "status": "not-applicable", "reason": "HTML semantic markup 검사는 AppKit 소스에 해당하지 않는다. 네이티브 버튼/메뉴/텍스트 입력 의미는 별도로 검사했다.", "evidence": []}, {"id": "ORC-A01", "status": "pass", "reason": "모든 요소에 같은 rounded 스타일을 적용하지 않았다. 네이티브 원형 추가, 작은 버튼, 사각 terminal canvas가 역할별로 다르다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}]}, {"id": "ORC-A02", "status": "exception", "reason": "사용자가 선택하는 평면 라이트 white/다크 1E2026를 제품 계약에 반영했다. G01과 충돌하는 micro-gradient/texture는 추가하지 않는 예외를 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}], "exception_id": "CHOP-ORC-A02"}, {"id": "ORC-A03", "status": "exception", "reason": "앱 소유 shadow 코드는 없다. NSAlert/메뉴/창과 버튼의 표준 시스템 깊이는 AppKit 예외다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}], "exception_id": "CHOP-ORC-A03"}, {"id": "ORC-A04", "status": "exception", "reason": "임의 blue-500을 추가하지 않는다. 사용자 명시 요청으로 terminal pane와 파일 경로 field의 focus outline을 표시하지 않지만 caret/선택과 toolbar/native 버튼 초점·drag 대상은 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}], "exception_id": "CHOP-ORC-A04"}, {"id": "ORC-A05", "status": "exception", "reason": "균등 1/2/4 배치는 사용자가 요청한 핵심 프리셋이다. 고정 대칭을 강요하지 않으며 실제 680pt 드래그와 재귀 분할로 비대칭이 가능하다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}], "exception_id": "CHOP-ORC-A05"}, {"id": "ORC-A06", "status": "exception", "reason": "한국어 제품이지만 쇼핑 정보 공간이 아니다. 빈 칸 중앙 +와 나머지 입력 공간은 사용자가 요청한 터미널 배치 과제다. 정보 없는 가격/배지를 채우지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}], "exception_id": "CHOP-ORC-A06"}, {"id": "ORC-A07", "status": "exception", "reason": "바로가기에 아이콘만 남기지 않고 기존 한국어 목적지 이름을 함께 표시한다. native button AX 이름/tooltip을 보존하고 아이콘·글자·빈 행 영역이 같은 동작을 실행한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}], "exception_id": "CHOP-ORC-A07"}, {"id": "ORC-A08", "status": "not-applicable", "reason": "사진·제품 이미지·이미지 placeholder를 사용하는 화면이 없다.", "evidence": []}, {"id": "ORC-A09", "status": "exception", "reason": "동일 역할 terminal 칸은 사용자 요청 grid이며 상품 카드가 아니다. 한 칸을 임의 featured 카드로 만드는 대신 사용자가 확대/분할 크기를 선택한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}], "exception_id": "CHOP-ORC-A09"}, {"id": "ORC-A10", "status": "exception", "reason": "실제 async loading/빈 폴더/없는 경로 오류/복구/늦은 응답 거절을 확인했다. OS open 대기 조합은 별도 관찰로 남기고 다른 경로/폴더 선택기로 복구했다. 상태 문구가 실제 읽기 상태와 일치한다. CodeRabbit의 개별 metadata 실패 전파를 확인해 이름/leaf fallback으로 수정했다. 오류 주입 회귀 검사와 최신 앱의 일반 폴더 표시/펼치기로 재검증했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}], "exception_id": "CHOP-ORC-A10"}, {"id": "RUI-01", "status": "pass", "reason": "사용자 Finder crop의 image-px와 Chop의 macOS pt를 구별했다.16pt box/14pt glyph/28pt row는 선택값이며 원본의 전체 창·배율·미관측 상태를 복원했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-02", "status": "pass", "reason": "기존 ChopStyle14pt와 동적 labelColor를 실제 바로가기 label/icon에 적용한다. 고정 icon box는 원본 비율을 보존하며 terminal/header 토큰은 바꾸지 않는다. 앱 아이콘은 이후 제공된 원본 색을 그대로 쓰고 UI/header/native accent 토큰을 확장하거나 바꾸지 않았다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}]}, {"id": "RUI-03", "status": "pass", "reason": "사용자 요청의 path field focus-ring 제거를 terminal-only 예외와 구분해 추가했다. 나머지 active 규칙과 과거 실패를 보존하며 헤더/바로가기/파일 드래그 요청을 이 PR에서 완료했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}]}, {"id": "RUI-04", "status": "pass", "reason": "홈 아이콘 포인터 클릭과 문서/다운로드 실제 클릭으로 각 목적지 경로가 바뀌는 것을 확인했다. native full-row hit/AX 버튼 역할과16개 기존 경로/PTY 검사를 보존한다. 파일 드롭의 실제 사용자 조작 후 endpoint를 AX로 확인했으며 Enter 미전송은 실제 PTY 검사로 별도 확인했다. 이번 단일 탭 보기는 실제4셸 전환/ENV 보존/추가·닫기/가로 탐색/복원을 확인했다. 실제4/5셸 좌우/격자/탭 전환과 keyboard/manual scroll, ENV 보존 및 확대를 확인했다. 상하4/5셸 전환과 모든 모드 연속 전환/ENV 유지/Scroll Up·keyboard focus/재실행을 실제 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}]}, {"id": "RUI-05", "status": "pass", "reason": "Ghostty 엔진과 cmux 기능 아이디어를 Chop의 중앙 칸 추가에 연결했다. 사이드바 표면 복제로 대체하지 않았고 실제 다섯 번째 터미널을 열었다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "RUI-06", "status": "pass", "reason": "바로가기 native button 구성·hitTest/AX 의미를 셀프 리뷰했다. strict format/build/signature와 전체16개 테스트4.907초 및 실제 목적지 입력을 확인했다. 파일 드롭 source/대상 수명·인용을 셀프 리뷰했고19개 검사4.111초와 최신 원격 CI가 통과했다. 좌우↔탭 실제 전환에서 발견한 display-cycle crash를 다음 main queue 크기 정리로 수정하고 실제5회 왕복과22개 검사를 다시 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}]}, {"id": "RUI-07", "status": "pass", "reason": "파일 header/path 아래 목적지 묶음과 그 아래 파일 outline의 계층을 유지한다. 사용자 crop의 왼쪽 icon+이름 관계를 최소 폭에서도 읽히도록 세로 행으로 적용했다. 바로가기만 중립 surface로 구분해 목적지 묶음과 실제 파일 contents의 계층을 명확히 했다. 단일 모드에서는 중복 pane header 대신 같은40pt 가로 탭 행을 file header와 정렬하며 toolbar 계층을 보존한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}]}, {"id": "RUI-08", "status": "pass", "reason": "이름 Chop은 사용자 제공이며 창 제목으로 쓴다. 별도 로고/워드마크/캐릭터/슬로건을 만들지 않았다. SF 기호는 기능 버튼이다. 이후 사용자가 직접 제공한 열매 로고를 앱 아이콘에만 적용했다. 원본 SHA/cmp를 보존하고 임의 캐릭터/슬로건을 새로 만들지 않았다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "RUI-09", "status": "exception", "reason": "바로가기 라벨은 system14pt medium을 재사용한다.16pt icon box와 native 버튼 높이를 글자 크기로 오인하지 않으며 작은 자체 보조 문구를 추가하지 않았다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}], "exception_id": "CHOP-RUI-09"}, {"id": "RUI-10", "status": "pass", "reason": "세 바로가기는 이름이 명시된 목적지 행이며 CTA나 새 navigation 탭이 아니다. native NSButton target-action/tooltip/AX 이름과 실제 폴더 이동을 유지한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-11", "status": "pass", "reason": "파일 제목과 직접 경로를 표시하고 매 행에 설명을 붙이지 않는다. loading/empty/error는 실제 해당 상태에서만 나타나며 실패 후 입력/선택/새로고침으로 복구한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "RUI-12", "status": "exception", "reason": "사용자 Finder crop와 SF Symbols 출처를 기록했다. 홈=house/다운로드=arrow.down.circle/문서=doc 의미·방향과 실제 목적지 행동을 대조했고 image를 비율 유지해 표시한다. 앱 아이콘은 기능 SF 기호와 구분해 사용자 원본/관찰한 macOS crop/Apple HIG 근거 및 실제 bundle/정보 창/Finder 소비를 기록했다. 기존 native SF 예외는 그대로다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}], "exception_id": "CHOP-RUI-12"}, {"id": "RUI-13", "status": "pass", "reason": "세로 행으로 바꾼 뒤 최소842×442pt에서 header/path/세 바로가기와 파일 목록이 가려지지 않는 것을 두 모드로 확인했다. 빈 상태는 scrollbar 없이, 긴 파일 목록은 기존 native scroll로 표시한다. 108pt 묶음과 기존 header/path/목록이 두 모드 최소842×442에서도 가려지지 않았다. 탭 overflow와 긴 이름/681×432 최소 창을 두 모드에서 확인했고 크기 변경 후 선택 탭을 드러내도록 수정했다. 실제 두 모드/최소842×442에서 모든 칸에 가로 탐색/키보드 focus로 접근하며 창을 화면 밖으로 강제 확대하지 않는다. 상하 모든 pane을 유지하며 두 모드1100×752/최소681×442에서 세로 scroll로 접근하고 불필요한 가로 scroller는 생기지 않았다. 사용자 리사이즈 교정 후 tile 직전 viewport 기준으로 축을 정해 들어가는 canvas의 불필요한 손잡이를 제거했다. 실제 두 모드/최소/반복 크기 변경과70회 동기 경계 회귀를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "RUI-14", "status": "exception", "reason": "새 장식 바를 만들지 않고 기능 divider의 header 부분만 동일 배경으로 채운다. 본문 resize hit 영역을 유지하며 숨김 때 divider와 잔상이 없다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}], "exception_id": "CHOP-RUI-14"}, {"id": "RUI-15", "status": "not-applicable", "reason": "파일 계층 목록 옆은 독립 terminal canvas이며 제품 채팅/메시지 전송 공간이 아니다. 대화/채팅 목록의 공간 경쟁 규칙 조건은 없다.", "evidence": []}, {"id": "RUI-16", "status": "pass", "reason": "Finder crop의 같은 icon 열/이름 시작선·세로 행 관계를 실제 구현에 연결했다. 한국어 세 목적지는 기존 요청을 유지하고 glyph 폭 어긋남을 실제 화면에서 수정했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/references/default-grid-user.png", "sha256": "a6458f33e04bf5250cce326ae91d14ac60e2a092d78fa55b00d84716e4efd45f"}, {"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-17", "status": "pass", "reason": "초기 image-leading/size만으로는 이름 정렬이 맞지 않는 것을 실제 화면에서 발견해 고정16pt icon 열로 수정했다. 두 모드/최소 창/실제 목적지·빈 목록의 전체 조합으로 다시 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/references/default-grid-user.png", "sha256": "a6458f33e04bf5250cce326ae91d14ac60e2a092d78fa55b00d84716e4efd45f"}, {"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "visual", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}]}, {"id": "RUI-18", "status": "pass", "reason": "새 사용자 Finder crop의 관찰과 Chop 각색 결정을 별도 기록하고 실제 파일 탐색 소비 화면을 검증했다. 기존 engine/cmux/canvas 출처와 toolbar/body 계층을 유지한다. 앱 브랜딩의 사용자 원본/둥근 crop 관찰과 Apple HIG를 연결하고 chosen mask 수치와 원본 보존을 구분해 실제 정보 창/Finder에서 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "RUI-19", "status": "not-applicable", "reason": "macOS 데스크톱 제품이며 모바일 destination tab/safe area/하단 navigation이 없다.", "evidence": []}, {"id": "RUI-20", "status": "pass", "reason": "이름 변경/오류/닫기 목적 제목은 native NSAlert heading이며 입력/설명보다 위계가 높다. 실제 폴더/작업 닫기 경고 화면에서 제목·본문·버튼이 읽혔다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "RUI-21", "status": "not-applicable", "reason": "날짜·시간 선택형 입력이 없다.", "evidence": []}, {"id": "RUI-22", "status": "pass", "reason": "부모 inset12·그룹 간8과 내부 row28/gap4/icon16/name-gap8의 소유를 구별한다. 실제 빈/긴 목록·최소/기본 창에서 padding 중첩이나 잘림이 없다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "RUI-23", "status": "exception", "reason": "바로가기만 같은14pt/동적 labelColor/네이티브 버튼 역할 안에서 바꿨다. 사용자 요청의 path field/pane focus-ring 생략과 실제 caret/selection, native 버튼/메뉴 의미는 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}], "exception_id": "CHOP-PATH-FOCUS-RUI23"}, {"id": "RUI-24", "status": "pass", "reason": "파일 제목은 탐색 영역 이름이고 행 이름은 실제 항목이다. 경로를 매 행에 반복하거나 loading/empty 상태를 배지로 중복하지 않는다. tooltip/AX 전체 경로는 접근/긴 경로 보완이다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "RUI-25", "status": "pass", "reason": "path→세 목적지 행→파일 outline 순서로 탐색 소속을 유지한다. 목적지 이름을 별도 설명/배지로 반복하지 않고 공통 toolbar 아래 peer 구조와 header 연결을 보존한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "PROJECT-CENTER", "status": "pass", "reason": "기본은 첫 셸 1개와 세 개의 중앙 +다. 실제 2/3/4번 +를 차례로 눌러 PTY가 하나씩 열리고 첫 셸은 유지되는 것을 확인했다. 편집 중 실행 칸 +의 방향 추가 기능도 유지한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "PROJECT-LAYOUT", "status": "pass", "reason": "새 body split은 global toolbar 아래에만 설치하며 terminal canvas 내부 geometry/model을 유지한다. panel min280과 layout min을 합산하고 화면에 들어가지 않는 추가/열기를 거절한다. 최소 창·개폐·geometry 테스트와 실제 교환을 확인했다. 이번 PR은 단일 보기의1칸 제한만 해제하고 layout/surface를 모두 보존하는 presentation을 추가했다. 좌우/상하의 기존 제한은 후속 PR이다. 이후 좌우/격자의 모든 pane 보존 요구에 맞춰 실제 문서 최소/viewport 최소를 분리하고 화면 공간에 따른 추가 거절을 native overflow로 대체했다. 상하는 다음 PR이다. 이후 상하 전환도 같은 모든-pane 보존 경로로 통일해 마지막 fixed-capacity 축소/빈 칸 삭제를 제거했다. 모든 표시 모드가 기존 터미널 수로 전환을 막지 않는다. 현재 viewport에 들어가는 격자는 크기 왕복과 좌우/상하/탭 전환 뒤에도 이전 문서 크기/17pt 빈 가장자리를 남기지 않는 것을 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}]}, {"id": "PROJECT-MANAGE", "status": "pass", "reason": "새 파일 탐색과 panel 개폐는 기존 canvas/view/surface를 재사용한다. 실제 PID/변수 보존, terminal zoom과11→16 교환/원위치 복원, 자동 surface/focus 검사로 확인했다. 경로 탐색은 셸 cwd를 바꾸지 않는다. 파일 드롭 시 기존 target focus/surface·다른 셸 유지와 닫힌 대상 거절을 PTY로 확인했다. 실제 단일 탭 전환 전후 같은 ENV를 출력했고 자동 검사에서4개 surface/포커스 유지와5번째 추가·닫기를 확인했다. 4/5셸의 surface/포커스/ENV·순서를 유지하고 실제 keyboard scroll/five roundtrips/zoom 복귀를 확인했다. 상하4/5셸의 실제 ENV 보존과 자동 surface/UUID/viewport focus를 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-CLOSE", "status": "pass", "reason": "실행 중 foreground 작업은 닫기/창 닫기/quit 전에 확인한다. 실제 sleep 닫기 취소와 Ctrl+C, 다중 셸 종료 취소를 실행했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "PROJECT-RESTORE", "status": "pass", "reason": "기존 session snapshot은 바꾸지 않고 file root/표시/폭만 별도 UserDefaults에 저장한다. 실제 사용자4칸 복원, 마지막 성공 루트만 저장하는 격리 테스트를 확인했다. 최종 재실행 OS open 대기와 선택기 복구는 E-T10 후속 기록에 명시한다. 이후 단일 탭 보기 요구에 따라 v1 snapshot에 optional tabbed 필드를 추가했다. 구 저장 decode/새 flag roundtrip과 실제 네 셸·선택 복원을 확인했다. 임의 개수 balanced split tree는 기존 Codable schema로 저장하고 실제4열 복원 및22개 roundtrip 검사를 확인했다. 실제 앱을 종료/재실행해 상하4행·6번 선택·네 셸 복원을 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-SCROLL", "status": "pass", "reason": "keyboard/menu 스크롤백을 실제 viewport와 UI로 확인하고 mouse selection을 실행했다. 휠 입력 코드는 연결돼 있으나 휠 실기는 도구 오류로 미검증이며 이 판정 범위에 포함했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "PROJECT-RENDER", "status": "pass", "reason": "Ghostty 소유 layer-hosting 순서와 실제 칸 크기를 적용해 동시 복원 glyph 누락을 수정했다. 최종 빌드 3개 셸 및 5번째 추가에서 정상 첫 줄/프롬프트를 직접 관찰했다. 새 sizing은 main queue 지연 대신 native tile 전에 문서를 맞춘다. 실제 모드/크기/확대·개폐 뒤 셸 ENV 유지와 새 crash report 없음,전체24개 검사를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}]}, {"id": "PROJECT-TRUTH", "status": "pass", "reason": "사용자 crop 원본 관찰·선택한 pt/각색·초기 정렬 실패/수정·실제 세 목적지 클릭을 구분했다.16개 검사와 실제 화면을 구별하며 새 파일 drag를 완료했다고 표시하지 않는다. 파일 드롭은 최초 CUA 놓기 대기와 후속 사용자 조작 후 실제 endpoint 관찰을 구분해 기록한다. 아이콘 원본 SHA/cmp, 폐기한 imagegen 후보, 선택한 native mask/작은 shadow 수정, 실제 About/Finder 표시와 자동 패키지 검사를 구분한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "interaction", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "interaction", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "PROJECT-DEFAULT", "status": "pass", "reason": "사용자 승인 기본값: 2×2로 시작해 좌상단 터미널 1을 즉시 실행하고 2·3·4번은 중앙 +로 연다. fresh/이전 단일 빈 저장/all-empty 저장/기존 사용 중 복원/중복 호출과 실제 순차 클릭을 검증했다. 실행 칸이 없는 저장에서는 이전 선택 위치와 무관하게 첫 칸에 포커스를 준다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/references/default-grid-user.png", "sha256": "a6458f33e04bf5250cce326ae91d14ac60e2a092d78fa55b00d84716e4efd45f"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}]}, {"id": "PROJECT-APPEARANCE", "status": "pass", "reason": "새 icon/label의 동적 labelColor와 기존 mode를 실제 기본/최소 창의 light/dark에서 확인했다. 기존 header/본문 및 path focus 예외는 유지한다. 바로가기 묶음도 기존 headerBackground를 두 모드에서 갱신하는 것을 실제 확인했다. 새 탭/선택/넘침과 복원된 단일 보기에서도 두 모드 토큰과 native 강조를 실제 확인했다. 새 overflow canvas는 투명 native scroll 배경 안의 기존 두 모드 terminal/header를 유지하며 최소/기본 창을 실제 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "spec", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "code", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "visual", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "interaction", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}]}, {"id": "PROJECT-TOOLBAR-ICONS", "status": "pass", "reason": "기존 네 preset/편집/mode 아이콘에 파일 트리 toggle을 같은 global toolbar에 추가했다. 실제 개폐/⌘⇧E/menu와 AX 다음 동작, 두 모드 최소 창에서 접근/겹침을 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "PROJECT-REORDER", "status": "pass", "reason": "새 body wrapper가 있는 최종 앱에서 포인터로11→16 교환했고 같은 출력/AX focus를 유지했다. 키보드 역교환 뒤 원래 사용자4칸 순서로 복구했다. preview/PTY identity 자동 검사를 통과했고 기존 drag 구현 자체는 바꾸지 않았다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "PROJECT-HEADER-BACKGROUND", "status": "pass", "reason": "파일/terminal header의 mode별 배경/전경·40pt·공통 행 구성을 적용한다. 상단 경계도 같은 배경으로 연결하며 두 모드·일반/편집·resize를 실제 확인했다. 단일 보기에서는 중복 pane header를 접고 같은40pt header surface를 가로 탭으로 표시해 file header와 같은 줄을 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-NO-FOCUS-BORDER", "status": "pass", "reason": "최종 파일 트리 표시/숨김/칸 이동 뒤 terminal pane 파란 border가 없고 실제 입력 cursor/AX 초점은 남는다. native file field/row 선택은 사용자 요청의 terminal-only 예외 밖이라 보존한다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "PROJECT-FILETREE", "status": "pass", "reason": "새 아이콘/이름 행에서 기존 홈·다운로드·문서 URL과 target-action을 그대로 쓴다. 실제 세 경로 이동·빈 폴더와 긴 목록을 확인했고 탐색/비동기/PTY는 바꾸지 않았다. 파일/폴더 행에 native file URL writer를 추가했고 파일 경로가 실제 terminal endpoint에 도달한 것을 확인했다. 새 묶음 안에서 실제 세 목적지 클릭과 빈/긴 목록을 확인했으며 탐색 로직은 유지한다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "interaction", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-FILETREE-HIERARCHY", "status": "pass", "reason": "canvas/file peer hierarchy와 header40pt를 유지하고 경계 상단 표면을 연결했다. 두 모드·폭300→340→300·숨김/재열기·편집 header와 기존 geometry/surface 검사16개를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-PATH-FOCUS", "status": "pass", "reason": "사용자 요청대로 외곽 focus ring 없이 실제 caret/selection/editing/Enter를 유지한다. 두 모드 실제 조작과 기존16개 검사를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "interaction", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-LOCATION-ICONS", "status": "pass", "reason": "사용자 Finder crop의 icon+이름 관계를16pt 열/8pt 간격으로 적용하고 세 목적지 실제 동작·빈/긴 목록·두 모드 최소 창을 확인했다. 기존 icon/name/hit/AX를 유지하고 묶음 padding 안의 같은 열 정렬과 세 목적지 동작을 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-FILE-DROP", "status": "pass", "reason": "실제 사용자 조작 후 clean 앱의 터미널11에서 fixture 파일 경로의 인용 입력을 AX로 확인했다. 최초 CUA 놓기 대기와 후속 endpoint 관찰을 구분한다. Enter 미전송·다른 칸/surface·닫힌 target·인용/거절은19개 자동 검사와 코드로 검증하며 물리 변형 전체를 실행했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}]}, {"id": "PROJECT-SHORTCUT-SECTION", "status": "pass", "reason": "기존 중립 header surface의 padding8/corner8 묶음으로 세 목적지를 구분했고 실제 두 모드·최소/기본 창·세 목적지 및 빈/긴 목록을 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-SINGLE-TABS", "status": "pass", "reason": "실제4셸·ENV 보존/새 탭/닫기/긴 이름·최소 창 가로 탐색/두 모드/재실행을 확인했고20개 검사로 surface/focus/legacy decode와 복원을 검증했다. resize 수정 뒤683×432 탭 보기의 외부 canvas에는 불필요한 축이 없음을 확인했다. 상단 탭 목록의 스크롤은 기존 별도 구현이다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속CI의7pt 가림을 발견해 스택 배치 후 실제 trailing edge까지 문서 폭에 포함했다.12가지 이름/두 스타일·모드와실제1배율683pt 창의64자 변경을 재검증했다.", "evidence": [{"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-ALL-COLUMNS", "status": "pass", "reason": "실제4/5셸의 native 전환/두 모드/최소 창/keyboard·manual scroll/ENV/확대와22개 검사를 확인했다. 발견한 불필요 축과 display-cycle crash를 수정하고5회 실제 왕복 및 최종 확대/복귀로 재검증했다. 후속 사용자 교정에서 비동기 sizing의 순간적 두 축을 발견해 viewport 기반 native tile 전 갱신으로 대체했다. 좌우는 가로만/격자 복귀는 없음,layout 내 수동 재타일링 없이 동기70회와실제3회 resize/기존 PTY 검사를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}]}, {"id": "PROJECT-ALL-ROWS", "status": "pass", "reason": "실제4/5셸 모든 모드와 ENV/두 모드·최소 창·세로 탐색/상하 복원 및22개 검사를 확인했다. 마지막 표시 모드별 cap/삭제 경로를 제거했다. 현재 resize 수정 뒤 상하 넘침은 세로 축만 두고 격자로 돌아오면 해제됨을 실제 최소 창에서 확인했다. legacy 손잡이가 다른 축을 실제로 요구하는 경계도 회귀 검사한다.", "evidence": [{"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}]}, {"id": "PROJECT-APP-ICON", "status": "pass", "reason": "원본 cmp/SHA 보존과10개 디코딩의 투명 모서리·본문 alpha를 확인했고 실제 두 모드 정보 창/Finder 표시 및22개 검사/번들 패키지 검사를 통과했다.", "evidence": [{"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "interaction", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "PROJECT-README-PRESENTATION", "status": "pass", "reason": "사용자 지정 Wratop README 구성을 참고하며 실제 Chop 기능과 원본 앱 스크린샷을 제공한다. GitHub에서 사진·배지·목차를 확인하고 소스 실행과 기존 제한을 보존한다. 앱 UI/기능은 변경하지 않았다.", "evidence": [{"kind": "spec", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}, {"kind": "code", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}, {"kind": "visual", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}, {"kind": "interaction", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}]}, {"id": "PROJECT-RESIZE-STABILITY", "status": "pass", "reason": "사용자 교정에 따라 tile 시점에 이전 문서/손잡이 폭을 남기지 않는다. 현재 전체 viewport와 문서 최소 크기에 필요한 축만 계산하고 실제 넘침은 유지한다. 수정 전 즉시 검사 실패,수정 후 두 스타일70회와실제두모드/최소/3회왕복/셸상태를 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}]}, {"id": "PROJECT-EMPTY-TAB-CENTER", "status": "pass", "reason": "빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-RENAME-CONTROLS", "status": "pass", "reason": "이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속CI의7pt 가림을 발견해 스택 배치 후 실제 trailing edge까지 문서 폭에 포함했다.12가지 이름/두 스타일·모드와실제1배율683pt 창의64자 변경을 재검증했다.", "evidence": [{"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-FILEBROWSER-ROW-SURFACE", "status": "pass", "reason": "후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", "evidence": [{"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "spec", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "code", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "visual", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "interaction", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}]}], "report_sha256": "ca0ea4872c61db0efc9388a4a4dd53d315285a3e16ea16ccc0238cc626ecaf71", "event_id": "d3dfff30b9eeb432f7c9d5a080c6e820bc689b89d33092a72e5a21b197c26c71", "recorded_at": "2026-10-15T05:28:20.348879+00:00"} +{"event_type": "implementation-review", "historical_status": "fail", "resolution": "fixed-and-verified", "evidence": "design/evidence/file-tree-search.md", "recorded_at": "2026-10-15T05:54:00.558714+00:00", "id": "F-SEARCH-RELATIVE-PATH", "source": "internal", "summary": "canonical URL에서 상대 경로 접두사 제거가 실패해 동명 결과가 구분되지 않음"} +{"event_type": "implementation-review", "historical_status": "fail", "resolution": "fixed-and-verified", "evidence": "design/evidence/file-tree-search.md", "recorded_at": "2026-10-15T05:54:00.558714+00:00", "id": "F-SEARCH-KEYBOARD", "source": "internal", "summary": "실제 Enter가 검색 폴더를 열지 않음"} +{"status": "PASS", "errors": [], "failures": [], "catalog_version": 5, "catalog_sha256": "9af51eedfbd6625fdcae46aa6a55e6206c447fe43b23fb1d0ff61f8ac800114f", "contract_sha256": "24dbc8cfadce3bb2b5e08737ae35f7484ecd875e334596b629a15eb2fa7b7985", "target_sha256": "1e0d032f34bac356f8d68c43552be46afa1047fda411200a26e3f3422c975c1f", "results": [{"id": "ORC-F01", "status": "pass", "reason": "오른쪽 파일 트리와 터미널 본문은 같은 mode.background를 사용하고 헤더도 동일 neutral 역할이다. E-T1/8/9의 두 모드·최소 창에서 밝기/톤 분리를 확인했다. 이 규칙은 새 사이드바 때문에 적용 대상으로 바꿨다.", "evidence": [{"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-F02", "status": "pass", "reason": "사용자 요청으로 terminal pane와 파일 경로 입력의 파란 외곽선을 없애도 공통 layout/edit/native 버튼 선택의 accent는 남는다. 경로 caret/selection을 유지하며 두 모드 실제 클릭/편집을 대조했다.", "evidence": [{"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}]}, {"id": "ORC-F03", "status": "exception", "reason": "두 모드의 경로 글자/선택/caret 대비를 실제 확인했다. 사용자 요청으로 경로 field 외곽 focus ring만 제거했고 기존 terminal 입력 커서와 다른 native 컨트롤의 초점은 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}], "exception_id": "CHOP-ORC-F03"}, {"id": "ORC-F04", "status": "exception", "reason": "각 중앙 +는 서로 다른 칸을 대상으로 한다. 같은 동작의 macOS 메뉴/단축키는 키보드 접근을 위해 유지한다. 콘텐츠에 전역 CTA를 반복하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}], "exception_id": "CHOP-ORC-F04"}, {"id": "ORC-F05", "status": "not-applicable", "reason": "파일 트리는 단일 이름과 폴더 계층을 표시하는 native outline이며 3속성 비교나 다수 엔티티의 카드 grid가 아니다. 20개 이상 행에서도 표 대신 카드를 늘리는 조건에 해당하지 않는다.", "evidence": []}, {"id": "ORC-F06", "status": "pass", "reason": "파일/터미널 헤더는 같은 neutral 배경 역할이다. 폴더/doc 기호와 이름은 항목 종류를 나타내고 임의 상태 색은 배정하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-F07", "status": "pass", "reason": "페이지 hero/대제목이 없다. 네이티브 창 제목과 14pt 칸 라벨이 터미널의 작업 공간을 밀어내지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}]}, {"id": "ORC-F08", "status": "exception", "reason": "파일 바로가기는 다른 세 목적지의 전체 행 버튼이다. 파일 목록 매 행에 반복 액션을 붙이지 않고 기존 선택/문맥 메뉴를 유지한다. 실제 세 목적지 클릭을 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}], "exception_id": "CHOP-ORC-F08"}, {"id": "ORC-F09", "status": "not-applicable", "reason": "canvas와 파일 트리는 공통 toolbar 아래 같은 본문 높이를 채운다. dashboard widget 열과 아래 full-width section의 높이 불일치 조건은 없다.", "evidence": []}, {"id": "ORC-F10", "status": "pass", "reason": "바로가기의16pt aspect-fit 아이콘과14pt 이름을 동일 세로 중앙/고정 시작선으로 배치했다. 두 모드·최소 창 실제 화면에서 glyph 고유 폭에 따른 어긋남을 수정해 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-F11", "status": "not-applicable", "reason": "새 파일 트리에 빨강/초록 같은 의미 색을 텍스트에만 적용한 status icon+text 조합이 없다. neutral 종류 아이콘/이름의 위계와 OS 전체 행 선택은 semantic colored status pair가 아니다. 사용자 VT 색은 앱 UI 밖이다.", "evidence": [{"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "ORC-F12", "status": "pass", "reason": "기존 panel inset12/그룹 간8을 유지하고 바로가기 내부는 row28/gap4/icon16/name-gap8로 선택했다. 실제 최소 창/빈·긴 목록에서 중복 여백·겹침이 없었다. 바로가기 묶음 내부8pt를 추가하고108pt 높이를 실제 최소/기본 창에서 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}]}, {"id": "ORC-F13", "status": "exception", "reason": "이동 손잡이는 native openHand cursor를 제공한다. 다른 native 버튼·splitter는 기존 플랫폼 커서를 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}], "exception_id": "CHOP-ORC-F13"}, {"id": "ORC-F14", "status": "not-applicable", "reason": "Swift/AppKit 소스에 HTML div/span/nav 구조가 없다. 네이티브 의미·AX 이름과 실제 행동은 RUI-06/PROJECT 규칙으로 검사한다.", "evidence": []}, {"id": "ORC-F16", "status": "pass", "reason": "세 바로가기는 고정 높이의 목적지 행이고 외부 scroller를 추가하지 않았다. 실제 빈 폴더는 scrollbar가 없고 긴 파일 목록만 기존 native scroll을 표시했다. 이번 overflow canvas는 실제 pane 최소 크기 때문에만 native 스크롤하며 반대 축 불필요 scroller를 legacy 회귀와 실제 두 모드로 검증했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}]}, {"id": "ORC-F15", "status": "pass", "reason": "반복 칸에 서로 다른 임의 색을 배정하지 않는다. 사용자 요청으로 pane 입력 포커스 테두리는 제거하고 native 선택·버튼/메뉴와 유효 드롭 대상의 system accent만 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}]}, {"id": "ORC-G01", "status": "pass", "reason": "Sources와 terminal*.conf에 사용자 정의 gradient가 없다. 라이트 흰색/사용자가 요청한 다크 1E2026 canvas가 실제 화면에서 평면이다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "ORC-G02", "status": "exception", "reason": "앱 자체 shadow를 만들지 않는다. macOS 창/메뉴/표준 컨트롤의 시스템 그림자는 플랫폼 예외로 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}], "exception_id": "CHOP-ORC-G02"}, {"id": "ORC-G03", "status": "exception", "reason": "56pt 원형 중앙 +와 네이티브 컨트롤/윈도우 곡률은 사용자 핵심 조작 및 플랫폼 예외다. CSS px 곡률을 macOS pt로 측정했다고 주장하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}], "exception_id": "CHOP-ORC-G03"}, {"id": "ORC-G04", "status": "pass", "reason": "기존 light white/dark1E2026 본문, header F3F4F6/292D35를 새 패널에서도 재사용한다. native accent/selection 외 임의 색을 추가하지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-G05", "status": "exception", "reason": "hover 장식은 없다. 사용자가 요청한 직접 드래그/배치 transform0.18초와 source alpha0.35만 허용한다. 사용자가 최신 모션을 직접 확인했다. Reduce Motion 분기는 코드 확인이며 해당 시스템 설정의 체감 검증을 주장하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}], "exception_id": "CHOP-ORC-G05"}, {"id": "ORC-G06", "status": "exception", "reason": "새 바로가기 이름은 ChopStyle14pt medium, glyph는 SF14pt config를16pt box에 aspect-fit한다. native OS chrome 예외와 CSS px/pt 구별을 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}], "exception_id": "CHOP-ORC-G06"}, {"id": "ORC-G07", "status": "pass", "reason": "바로가기 내부4/8/16/28과 부모 inset12는 기존4pt 스케일이다. native font/glyph 광학 여백과 실제 고정 열을 구분해 두 모드 최소/기본 창에서 대조했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G08", "status": "pass", "reason": "요청한 아이콘+이름을 세로 목적지 행으로 배치해 최소280pt 폭에서도 읽힌다. 기존 header/path 뒤의92pt 그룹 아래 나머지는 실제 가변 파일 목록이며 빈 상태에 장식을 채우지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G09", "status": "pass", "reason": "새 SF 아이콘은 파일 종류·폴더 선택·갱신·패널 개폐에 대응한다. 장식 그림이나 무관한 지표를 추가하지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "ORC-G10", "status": "pass", "reason": "terminal/file 헤더가 동일 mode.headerBackground/foreground와 공통 행을 소비한다. 두 모드 실제 화면에서 header 사이 기능 경계의 색 틈이 없어 같은 표면으로 읽힌다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}]}, {"id": "ORC-G11", "status": "exception", "reason": "일반/편집/폭 변경의 실제 화면에서 terminal/file 제목·경로·아이콘이 같은 중앙선에 놓이고 읽혔다. 글자/본문 치수는 바꾸지 않았다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}], "exception_id": "CHOP-ORC-G11"}, {"id": "ORC-G12", "status": "exception", "reason": "칸마다 대상이 다른 +를 제공하고 콘텐츠 전역 CTA는 반복하지 않는다. 메뉴/단축키 동등 경로는 macOS 키보드 접근성 예외다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}], "exception_id": "CHOP-ORC-G12"}, {"id": "ORC-G13", "status": "not-applicable", "reason": "새 파일 목록은 native hierarchy/한 이름 속성으로 표시하며20개 이상 비교 항목을 카드 grid로 만든 구성이 없다. terminal viewport는 독립 PTY다.", "evidence": []}, {"id": "ORC-G14", "status": "pass", "reason": "앱이 임의 빨강/초록 상태를 만들지 않는다. 창 닫기와 확인은 macOS 표준이며 셸의 사용자 프로그램 색은 별도다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "ORC-G15", "status": "pass", "reason": "24px를 넘는 웹 page title에 해당하는 자체 대제목이 없다. 제품명은 네이티브 창 제목으로만 표시한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}]}, {"id": "ORC-G16", "status": "exception", "reason": "파일 행 조작은 선택/문맥 메뉴에 둔다. 폴더 선택/갱신은 파일 header, 전역 개폐는 toolbar, 칸 조작은 칸에 속한다. E-T7/11 실제 입력을 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}], "exception_id": "CHOP-ORC-G16"}, {"id": "ORC-G17", "status": "not-applicable", "reason": "파일 트리와 canvas가 body 전체 높이를 채운다. 아래 full-width dashboard section이 없어 widget 열 높이 불균형 규칙은 적용되지 않는다.", "evidence": []}, {"id": "ORC-G18", "status": "pass", "reason": "house/arrow.down.circle/doc의 다른 고유 폭이 이름 시작선을 바꾸지 않게16pt icon 열과8pt 간격을 적용했다. 실제 glyph/name 중앙과 세 목적지 행동을 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G19", "status": "not-applicable", "reason": "의미 색 글자와 다른 색 아이콘으로 구성한 status pair가 없다. 파일 종류의 neutral icon/name 위계는 semantic color 불일치 조건과 다르다. 전체 header mode 적용은 별도 appearance 규칙으로 검사한다.", "evidence": [{"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "ORC-G20", "status": "pass", "reason": "동일28pt 행/4pt 간격/16pt icon/8pt 이름 간격을 공유한다. 실제 기본/최소 창과 빈·긴 목록에서 부모 padding 중첩 없이 정렬됐다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G21", "status": "exception", "reason": "이동 조작에는 native openHand, 버튼·splitter에는 기존 AppKit 커서를 사용한다. 웹의 pointer 모양을 macOS에 강제하지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}], "exception_id": "CHOP-ORC-G21"}, {"id": "ORC-G22", "status": "not-applicable", "reason": "badge/tag/status palette가 없으며 상태마다 색을 배정하는 기능을 만들지 않았다.", "evidence": []}, {"id": "ORC-G23", "status": "pass", "reason": "바로가기 그룹 자체는 스크롤하지 않으며 빈 임시 폴더에 불필요한 scroller가 없다. 실제 긴 Downloads 목록은 native scroll을 유지하고 최소 창에서도 조작을 가리지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "ORC-G24", "status": "not-applicable", "reason": "HTML semantic markup 검사는 AppKit 소스에 해당하지 않는다. 네이티브 버튼/메뉴/텍스트 입력 의미는 별도로 검사했다.", "evidence": []}, {"id": "ORC-A01", "status": "pass", "reason": "모든 요소에 같은 rounded 스타일을 적용하지 않았다. 네이티브 원형 추가, 작은 버튼, 사각 terminal canvas가 역할별로 다르다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}]}, {"id": "ORC-A02", "status": "exception", "reason": "사용자가 선택하는 평면 라이트 white/다크 1E2026를 제품 계약에 반영했다. G01과 충돌하는 micro-gradient/texture는 추가하지 않는 예외를 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}], "exception_id": "CHOP-ORC-A02"}, {"id": "ORC-A03", "status": "exception", "reason": "앱 소유 shadow 코드는 없다. NSAlert/메뉴/창과 버튼의 표준 시스템 깊이는 AppKit 예외다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}], "exception_id": "CHOP-ORC-A03"}, {"id": "ORC-A04", "status": "exception", "reason": "임의 blue-500을 추가하지 않는다. 사용자 명시 요청으로 terminal pane와 파일 경로 field의 focus outline을 표시하지 않지만 caret/선택과 toolbar/native 버튼 초점·drag 대상은 유지한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}], "exception_id": "CHOP-ORC-A04"}, {"id": "ORC-A05", "status": "exception", "reason": "균등 1/2/4 배치는 사용자가 요청한 핵심 프리셋이다. 고정 대칭을 강요하지 않으며 실제 680pt 드래그와 재귀 분할로 비대칭이 가능하다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}], "exception_id": "CHOP-ORC-A05"}, {"id": "ORC-A06", "status": "exception", "reason": "한국어 제품이지만 쇼핑 정보 공간이 아니다. 빈 칸 중앙 +와 나머지 입력 공간은 사용자가 요청한 터미널 배치 과제다. 정보 없는 가격/배지를 채우지 않는다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}], "exception_id": "CHOP-ORC-A06"}, {"id": "ORC-A07", "status": "exception", "reason": "바로가기에 아이콘만 남기지 않고 기존 한국어 목적지 이름을 함께 표시한다. native button AX 이름/tooltip을 보존하고 아이콘·글자·빈 행 영역이 같은 동작을 실행한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}], "exception_id": "CHOP-ORC-A07"}, {"id": "ORC-A08", "status": "not-applicable", "reason": "사진·제품 이미지·이미지 placeholder를 사용하는 화면이 없다.", "evidence": []}, {"id": "ORC-A09", "status": "exception", "reason": "동일 역할 terminal 칸은 사용자 요청 grid이며 상품 카드가 아니다. 한 칸을 임의 featured 카드로 만드는 대신 사용자가 확대/분할 크기를 선택한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}], "exception_id": "CHOP-ORC-A09"}, {"id": "ORC-A10", "status": "exception", "reason": "실제 async loading/빈 폴더/없는 경로 오류/복구/늦은 응답 거절을 확인했다. OS open 대기 조합은 별도 관찰로 남기고 다른 경로/폴더 선택기로 복구했다. 상태 문구가 실제 읽기 상태와 일치한다. CodeRabbit의 개별 metadata 실패 전파를 확인해 이름/leaf fallback으로 수정했다. 오류 주입 회귀 검사와 최신 앱의 일반 폴더 표시/펼치기로 재검증했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}], "exception_id": "CHOP-ORC-A10"}, {"id": "RUI-01", "status": "pass", "reason": "사용자 Finder crop의 image-px와 Chop의 macOS pt를 구별했다.16pt box/14pt glyph/28pt row는 선택값이며 원본의 전체 창·배율·미관측 상태를 복원했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-02", "status": "pass", "reason": "기존 ChopStyle14pt와 동적 labelColor를 실제 바로가기 label/icon에 적용한다. 고정 icon box는 원본 비율을 보존하며 terminal/header 토큰은 바꾸지 않는다. 앱 아이콘은 이후 제공된 원본 색을 그대로 쓰고 UI/header/native accent 토큰을 확장하거나 바꾸지 않았다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "RUI-03", "status": "pass", "reason": "사용자 요청의 path field focus-ring 제거를 terminal-only 예외와 구분해 추가했다. 나머지 active 규칙과 과거 실패를 보존하며 헤더/바로가기/파일 드래그 요청을 이 PR에서 완료했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}]}, {"id": "RUI-04", "status": "pass", "reason": "홈 아이콘 포인터 클릭과 문서/다운로드 실제 클릭으로 각 목적지 경로가 바뀌는 것을 확인했다. native full-row hit/AX 버튼 역할과16개 기존 경로/PTY 검사를 보존한다. 파일 드롭의 실제 사용자 조작 후 endpoint를 AX로 확인했으며 Enter 미전송은 실제 PTY 검사로 별도 확인했다. 이번 단일 탭 보기는 실제4셸 전환/ENV 보존/추가·닫기/가로 탐색/복원을 확인했다. 실제4/5셸 좌우/격자/탭 전환과 keyboard/manual scroll, ENV 보존 및 확대를 확인했다. 상하4/5셸 전환과 모든 모드 연속 전환/ENV 유지/Scroll Up·keyboard focus/재실행을 실제 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "interaction", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "RUI-05", "status": "pass", "reason": "Ghostty 엔진과 cmux 기능 아이디어를 Chop의 중앙 칸 추가에 연결했다. 사이드바 표면 복제로 대체하지 않았고 실제 다섯 번째 터미널을 열었다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "RUI-06", "status": "pass", "reason": "바로가기 native button 구성·hitTest/AX 의미를 셀프 리뷰했다. strict format/build/signature와 전체16개 테스트4.907초 및 실제 목적지 입력을 확인했다. 파일 드롭 source/대상 수명·인용을 셀프 리뷰했고19개 검사4.111초와 최신 원격 CI가 통과했다. 좌우↔탭 실제 전환에서 발견한 display-cycle crash를 다음 main queue 크기 정리로 수정하고 실제5회 왕복과22개 검사를 다시 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}]}, {"id": "RUI-07", "status": "pass", "reason": "파일 header/path 아래 목적지 묶음과 그 아래 파일 outline의 계층을 유지한다. 사용자 crop의 왼쪽 icon+이름 관계를 최소 폭에서도 읽히도록 세로 행으로 적용했다. 바로가기만 중립 surface로 구분해 목적지 묶음과 실제 파일 contents의 계층을 명확히 했다. 단일 모드에서는 중복 pane header 대신 같은40pt 가로 탭 행을 file header와 정렬하며 toolbar 계층을 보존한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}]}, {"id": "RUI-08", "status": "pass", "reason": "이름 Chop은 사용자 제공이며 창 제목으로 쓴다. 별도 로고/워드마크/캐릭터/슬로건을 만들지 않았다. SF 기호는 기능 버튼이다. 이후 사용자가 직접 제공한 열매 로고를 앱 아이콘에만 적용했다. 원본 SHA/cmp를 보존하고 임의 캐릭터/슬로건을 새로 만들지 않았다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "RUI-09", "status": "exception", "reason": "바로가기 라벨은 system14pt medium을 재사용한다.16pt icon box와 native 버튼 높이를 글자 크기로 오인하지 않으며 작은 자체 보조 문구를 추가하지 않았다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}], "exception_id": "CHOP-RUI-09"}, {"id": "RUI-10", "status": "pass", "reason": "세 바로가기는 이름이 명시된 목적지 행이며 CTA나 새 navigation 탭이 아니다. native NSButton target-action/tooltip/AX 이름과 실제 폴더 이동을 유지한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-11", "status": "pass", "reason": "파일 제목과 직접 경로를 표시하고 매 행에 설명을 붙이지 않는다. loading/empty/error는 실제 해당 상태에서만 나타나며 실패 후 입력/선택/새로고침으로 복구한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "RUI-12", "status": "exception", "reason": "사용자 Finder crop와 SF Symbols 출처를 기록했다. 홈=house/다운로드=arrow.down.circle/문서=doc 의미·방향과 실제 목적지 행동을 대조했고 image를 비율 유지해 표시한다. 앱 아이콘은 기능 SF 기호와 구분해 사용자 원본/관찰한 macOS crop/Apple HIG 근거 및 실제 bundle/정보 창/Finder 소비를 기록했다. 기존 native SF 예외는 그대로다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}], "exception_id": "CHOP-RUI-12"}, {"id": "RUI-13", "status": "pass", "reason": "세로 행으로 바꾼 뒤 최소842×442pt에서 header/path/세 바로가기와 파일 목록이 가려지지 않는 것을 두 모드로 확인했다. 빈 상태는 scrollbar 없이, 긴 파일 목록은 기존 native scroll로 표시한다. 108pt 묶음과 기존 header/path/목록이 두 모드 최소842×442에서도 가려지지 않았다. 탭 overflow와 긴 이름/681×432 최소 창을 두 모드에서 확인했고 크기 변경 후 선택 탭을 드러내도록 수정했다. 실제 두 모드/최소842×442에서 모든 칸에 가로 탐색/키보드 focus로 접근하며 창을 화면 밖으로 강제 확대하지 않는다. 상하 모든 pane을 유지하며 두 모드1100×752/최소681×442에서 세로 scroll로 접근하고 불필요한 가로 scroller는 생기지 않았다. 사용자 리사이즈 교정 후 tile 직전 viewport 기준으로 축을 정해 들어가는 canvas의 불필요한 손잡이를 제거했다. 실제 두 모드/최소/반복 크기 변경과70회 동기 경계 회귀를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "interaction", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "RUI-14", "status": "exception", "reason": "새 장식 바를 만들지 않고 기능 divider의 header 부분만 동일 배경으로 채운다. 본문 resize hit 영역을 유지하며 숨김 때 divider와 잔상이 없다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}], "exception_id": "CHOP-RUI-14"}, {"id": "RUI-15", "status": "not-applicable", "reason": "파일 계층 목록 옆은 독립 terminal canvas이며 제품 채팅/메시지 전송 공간이 아니다. 대화/채팅 목록의 공간 경쟁 규칙 조건은 없다.", "evidence": []}, {"id": "RUI-16", "status": "pass", "reason": "Finder crop의 같은 icon 열/이름 시작선·세로 행 관계를 실제 구현에 연결했다. 한국어 세 목적지는 기존 요청을 유지하고 glyph 폭 어긋남을 실제 화면에서 수정했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/references/default-grid-user.png", "sha256": "a6458f33e04bf5250cce326ae91d14ac60e2a092d78fa55b00d84716e4efd45f"}, {"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}]}, {"id": "RUI-17", "status": "pass", "reason": "초기 image-leading/size만으로는 이름 정렬이 맞지 않는 것을 실제 화면에서 발견해 고정16pt icon 열로 수정했다. 두 모드/최소 창/실제 목적지·빈 목록의 전체 조합으로 다시 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/references/default-grid-user.png", "sha256": "a6458f33e04bf5250cce326ae91d14ac60e2a092d78fa55b00d84716e4efd45f"}, {"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "visual", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}]}, {"id": "RUI-18", "status": "pass", "reason": "새 사용자 Finder crop의 관찰과 Chop 각색 결정을 별도 기록하고 실제 파일 탐색 소비 화면을 검증했다. 기존 engine/cmux/canvas 출처와 toolbar/body 계층을 유지한다. 앱 브랜딩의 사용자 원본/둥근 crop 관찰과 Apple HIG를 연결하고 chosen mask 수치와 원본 보존을 구분해 실제 정보 창/Finder에서 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "RUI-19", "status": "not-applicable", "reason": "macOS 데스크톱 제품이며 모바일 destination tab/safe area/하단 navigation이 없다.", "evidence": []}, {"id": "RUI-20", "status": "pass", "reason": "이름 변경/오류/닫기 목적 제목은 native NSAlert heading이며 입력/설명보다 위계가 높다. 실제 폴더/작업 닫기 경고 화면에서 제목·본문·버튼이 읽혔다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "RUI-21", "status": "not-applicable", "reason": "날짜·시간 선택형 입력이 없다.", "evidence": []}, {"id": "RUI-22", "status": "pass", "reason": "부모 inset12·그룹 간8과 내부 row28/gap4/icon16/name-gap8의 소유를 구별한다. 실제 빈/긴 목록·최소/기본 창에서 padding 중첩이나 잘림이 없다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "RUI-23", "status": "exception", "reason": "바로가기만 같은14pt/동적 labelColor/네이티브 버튼 역할 안에서 바꿨다. 사용자 요청의 path field/pane focus-ring 생략과 실제 caret/selection, native 버튼/메뉴 의미는 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}], "exception_id": "CHOP-PATH-FOCUS-RUI23"}, {"id": "RUI-24", "status": "pass", "reason": "파일 제목은 탐색 영역 이름이고 행 이름은 실제 항목이다. 경로를 매 행에 반복하거나 loading/empty 상태를 배지로 중복하지 않는다. tooltip/AX 전체 경로는 접근/긴 경로 보완이다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "RUI-25", "status": "pass", "reason": "path→세 목적지 행→파일 outline 순서로 탐색 소속을 유지한다. 목적지 이름을 별도 설명/배지로 반복하지 않고 공통 toolbar 아래 peer 구조와 header 연결을 보존한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "PROJECT-CENTER", "status": "pass", "reason": "기본은 첫 셸 1개와 세 개의 중앙 +다. 실제 2/3/4번 +를 차례로 눌러 PTY가 하나씩 열리고 첫 셸은 유지되는 것을 확인했다. 편집 중 실행 칸 +의 방향 추가 기능도 유지한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}]}, {"id": "PROJECT-LAYOUT", "status": "pass", "reason": "새 body split은 global toolbar 아래에만 설치하며 terminal canvas 내부 geometry/model을 유지한다. panel min280과 layout min을 합산하고 화면에 들어가지 않는 추가/열기를 거절한다. 최소 창·개폐·geometry 테스트와 실제 교환을 확인했다. 이번 PR은 단일 보기의1칸 제한만 해제하고 layout/surface를 모두 보존하는 presentation을 추가했다. 좌우/상하의 기존 제한은 후속 PR이다. 이후 좌우/격자의 모든 pane 보존 요구에 맞춰 실제 문서 최소/viewport 최소를 분리하고 화면 공간에 따른 추가 거절을 native overflow로 대체했다. 상하는 다음 PR이다. 이후 상하 전환도 같은 모든-pane 보존 경로로 통일해 마지막 fixed-capacity 축소/빈 칸 삭제를 제거했다. 모든 표시 모드가 기존 터미널 수로 전환을 막지 않는다. 현재 viewport에 들어가는 격자는 크기 왕복과 좌우/상하/탭 전환 뒤에도 이전 문서 크기/17pt 빈 가장자리를 남기지 않는 것을 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}]}, {"id": "PROJECT-MANAGE", "status": "pass", "reason": "새 파일 탐색과 panel 개폐는 기존 canvas/view/surface를 재사용한다. 실제 PID/변수 보존, terminal zoom과11→16 교환/원위치 복원, 자동 surface/focus 검사로 확인했다. 경로 탐색은 셸 cwd를 바꾸지 않는다. 파일 드롭 시 기존 target focus/surface·다른 셸 유지와 닫힌 대상 거절을 PTY로 확인했다. 실제 단일 탭 전환 전후 같은 ENV를 출력했고 자동 검사에서4개 surface/포커스 유지와5번째 추가·닫기를 확인했다. 4/5셸의 surface/포커스/ENV·순서를 유지하고 실제 keyboard scroll/five roundtrips/zoom 복귀를 확인했다. 상하4/5셸의 실제 ENV 보존과 자동 surface/UUID/viewport focus를 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-CLOSE", "status": "pass", "reason": "실행 중 foreground 작업은 닫기/창 닫기/quit 전에 확인한다. 실제 sleep 닫기 취소와 Ctrl+C, 다중 셸 종료 취소를 실행했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "PROJECT-RESTORE", "status": "pass", "reason": "기존 session snapshot은 바꾸지 않고 file root/표시/폭만 별도 UserDefaults에 저장한다. 실제 사용자4칸 복원, 마지막 성공 루트만 저장하는 격리 테스트를 확인했다. 최종 재실행 OS open 대기와 선택기 복구는 E-T10 후속 기록에 명시한다. 이후 단일 탭 보기 요구에 따라 v1 snapshot에 optional tabbed 필드를 추가했다. 구 저장 decode/새 flag roundtrip과 실제 네 셸·선택 복원을 확인했다. 임의 개수 balanced split tree는 기존 Codable schema로 저장하고 실제4열 복원 및22개 roundtrip 검사를 확인했다. 실제 앱을 종료/재실행해 상하4행·6번 선택·네 셸 복원을 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-SCROLL", "status": "pass", "reason": "keyboard/menu 스크롤백을 실제 viewport와 UI로 확인하고 mouse selection을 실행했다. 휠 입력 코드는 연결돼 있으나 휠 실기는 도구 오류로 미검증이며 이 판정 범위에 포함했다고 주장하지 않는다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}]}, {"id": "PROJECT-RENDER", "status": "pass", "reason": "Ghostty 소유 layer-hosting 순서와 실제 칸 크기를 적용해 동시 복원 glyph 누락을 수정했다. 최종 빌드 3개 셸 및 5번째 추가에서 정상 첫 줄/프롬프트를 직접 관찰했다. 새 sizing은 main queue 지연 대신 native tile 전에 문서를 맞춘다. 실제 모드/크기/확대·개폐 뒤 셸 ENV 유지와 새 crash report 없음,전체24개 검사를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}]}, {"id": "PROJECT-TRUTH", "status": "pass", "reason": "사용자 crop 원본 관찰·선택한 pt/각색·초기 정렬 실패/수정·실제 세 목적지 클릭을 구분했다.16개 검사와 실제 화면을 구별하며 새 파일 drag를 완료했다고 표시하지 않는다. 파일 드롭은 최초 CUA 놓기 대기와 후속 사용자 조작 후 실제 endpoint 관찰을 구분해 기록한다. 아이콘 원본 SHA/cmp, 폐기한 imagegen 후보, 선택한 native mask/작은 shadow 수정, 실제 About/Finder 표시와 자동 패키지 검사를 구분한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/pr6-ui.md", "sha256": "00e61f4c3cc04564c681ba2078247fe1cd2496409c08a5110eb792957880cd65"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "interaction", "path": "design/evidence/pr5-ui.md", "sha256": "11b429044c47f3481d63de0ebda80053110b99d59dec6cf5cea808f7404a2102"}, {"kind": "visual", "path": "design/evidence/pr4-ui.md", "sha256": "c8c87cda55a2ace2c774c2c9f4bee29bbf47b0d73ab68f64472cd1b2cb7c5919"}, {"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "interaction", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "interaction", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "PROJECT-DEFAULT", "status": "pass", "reason": "사용자 승인 기본값: 2×2로 시작해 좌상단 터미널 1을 즉시 실행하고 2·3·4번은 중앙 +로 연다. fresh/이전 단일 빈 저장/all-empty 저장/기존 사용 중 복원/중복 호출과 실제 순차 클릭을 검증했다. 실행 칸이 없는 저장에서는 이전 선택 위치와 무관하게 첫 칸에 포커스를 준다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "code", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "interaction", "path": "design/evidence/pr7-default-grid.md", "sha256": "fb05f883e15ed0429f3d77516de5d66eb68a3d8928f8493517c64ad0ca29c103"}, {"kind": "visual", "path": "design/references/default-grid-user.png", "sha256": "a6458f33e04bf5250cce326ae91d14ac60e2a092d78fa55b00d84716e4efd45f"}, {"kind": "interaction", "path": "design/evidence/final-check.md", "sha256": "47ab3b5074914859eaf8dc09a7f6c93fced41664a17c10f6ba568a3941c4778f"}, {"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}]}, {"id": "PROJECT-APPEARANCE", "status": "pass", "reason": "새 icon/label의 동적 labelColor와 기존 mode를 실제 기본/최소 창의 light/dark에서 확인했다. 기존 header/본문 및 path focus 예외는 유지한다. 바로가기 묶음도 기존 headerBackground를 두 모드에서 갱신하는 것을 실제 확인했다. 새 탭/선택/넘침과 복원된 단일 보기에서도 두 모드 토큰과 native 강조를 실제 확인했다. 새 overflow canvas는 투명 native scroll 배경 안의 기존 두 모드 terminal/header를 유지하며 최소/기본 창을 실제 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "interaction", "path": "design/evidence/pr8-appearance.md", "sha256": "cc766d28956ed9f75c836c06bccefda289349d7aeb77fcb2313a1e13dc2e2538"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "spec", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "code", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "visual", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "interaction", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "interaction", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "PROJECT-TOOLBAR-ICONS", "status": "pass", "reason": "기존 네 preset/편집/mode 아이콘에 파일 트리 toggle을 같은 global toolbar에 추가했다. 실제 개폐/⌘⇧E/menu와 AX 다음 동작, 두 모드 최소 창에서 접근/겹침을 확인했다.", "evidence": [{"kind": "spec", "path": "DESIGN.md", "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084"}, {"kind": "code", "path": "design/evidence/final-code.md", "sha256": "68c12764a07025a8b19b559445e9ff8c3417be14fcae7a6eb9271096d14bda2c"}, {"kind": "visual", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "interaction", "path": "design/evidence/pr10-toolbar-icons.md", "sha256": "25ef4efd56e0b8648e621fe416f32662f98da6c4be157a1b70d6cb80dec6b02d"}, {"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "PROJECT-REORDER", "status": "pass", "reason": "새 body wrapper가 있는 최종 앱에서 포인터로11→16 교환했고 같은 출력/AX focus를 유지했다. 키보드 역교환 뒤 원래 사용자4칸 순서로 복구했다. preview/PTY identity 자동 검사를 통과했고 기존 drag 구현 자체는 바꾸지 않았다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "code", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "visual", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "interaction", "path": "design/evidence/pr11-pane-reordering.md", "sha256": "9a7b8cd6f9da2a5eed6b514564661a8e7e9dbce0862b244b6503d22aefcb604b"}, {"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "PROJECT-HEADER-BACKGROUND", "status": "pass", "reason": "파일/terminal header의 mode별 배경/전경·40pt·공통 행 구성을 적용한다. 상단 경계도 같은 배경으로 연결하며 두 모드·일반/편집·resize를 실제 확인했다. 단일 보기에서는 중복 pane header를 접고 같은40pt header surface를 가로 탭으로 표시해 file header와 같은 줄을 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "code", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "visual", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "interaction", "path": "design/evidence/pr12-header-background.md", "sha256": "c9a40b51c7101a99e6179f9abce1915a08364e2df4e50fbdcbbb2a98476251a8"}, {"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-NO-FOCUS-BORDER", "status": "pass", "reason": "최종 파일 트리 표시/숨김/칸 이동 뒤 terminal pane 파란 border가 없고 실제 입력 cursor/AX 초점은 남는다. native file field/row 선택은 사용자 요청의 terminal-only 예외 밖이라 보존한다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "code", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "visual", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "interaction", "path": "design/evidence/pr13-no-focus-border.md", "sha256": "a87187553f82b1f121ac2b3990c952bff43401a580947c0568200fe1aa751962"}, {"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}]}, {"id": "PROJECT-FILETREE", "status": "pass", "reason": "새 아이콘/이름 행에서 기존 홈·다운로드·문서 URL과 target-action을 그대로 쓴다. 실제 세 경로 이동·빈 폴더와 긴 목록을 확인했고 탐색/비동기/PTY는 바꾸지 않았다. 파일/폴더 행에 native file URL writer를 추가했고 파일 경로가 실제 terminal endpoint에 도달한 것을 확인했다. 새 묶음 안에서 실제 세 목적지 클릭과 빈/긴 목록을 확인했으며 탐색 로직은 유지한다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "interaction", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "interaction", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "PROJECT-FILETREE-HIERARCHY", "status": "pass", "reason": "canvas/file peer hierarchy와 header40pt를 유지하고 경계 상단 표면을 연결했다. 두 모드·폭300→340→300·숨김/재열기·편집 header와 기존 geometry/surface 검사16개를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "code", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "interaction", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce"}, {"kind": "spec", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "code", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "visual", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "interaction", "path": "design/evidence/header-seam.md", "sha256": "c6c6e4c41d06206b69f4f7264135d4083034e51ff1703f9e378cd98f54c31d5e"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "interaction", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "PROJECT-PATH-FOCUS", "status": "pass", "reason": "사용자 요청대로 외곽 focus ring 없이 실제 caret/selection/editing/Enter를 유지한다. 두 모드 실제 조작과 기존16개 검사를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "code", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "visual", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "interaction", "path": "design/evidence/path-focus-ring.md", "sha256": "14c25fc7671ef1963780d4810b48a1d6367a85dea6505c8c1603bd493c22a6ed"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "interaction", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "PROJECT-LOCATION-ICONS", "status": "pass", "reason": "사용자 Finder crop의 icon+이름 관계를16pt 열/8pt 간격으로 적용하고 세 목적지 실제 동작·빈/긴 목록·두 모드 최소 창을 확인했다. 기존 icon/name/hit/AX를 유지하고 묶음 padding 안의 같은 열 정렬과 세 목적지 동작을 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "code", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "interaction", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66"}, {"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-FILE-DROP", "status": "pass", "reason": "실제 사용자 조작 후 clean 앱의 터미널11에서 fixture 파일 경로의 인용 입력을 AX로 확인했다. 최초 CUA 놓기 대기와 후속 endpoint 관찰을 구분한다. Enter 미전송·다른 칸/surface·닫힌 target·인용/거절은19개 자동 검사와 코드로 검증하며 물리 변형 전체를 실행했다고 주장하지 않는다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "code", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "visual", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "interaction", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "PROJECT-SHORTCUT-SECTION", "status": "pass", "reason": "기존 중립 header surface의 padding8/corner8 묶음으로 세 목적지를 구분했고 실제 두 모드·최소/기본 창·세 목적지 및 빈/긴 목록을 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "code", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "visual", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "interaction", "path": "design/evidence/shortcut-section.md", "sha256": "43283413a8127d54ea4bc00b6d3a6e048cc4d951ad0a2069d15c1c66d5bd1981"}, {"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}]}, {"id": "PROJECT-SINGLE-TABS", "status": "pass", "reason": "실제4셸·ENV 보존/새 탭/닫기/긴 이름·최소 창 가로 탐색/두 모드/재실행을 확인했고20개 검사로 surface/focus/legacy decode와 복원을 검증했다. resize 수정 뒤683×432 탭 보기의 외부 canvas에는 불필요한 축이 없음을 확인했다. 상단 탭 목록의 스크롤은 기존 별도 구현이다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속CI의7pt 가림을 발견해 스택 배치 후 실제 trailing edge까지 문서 폭에 포함했다.12가지 이름/두 스타일·모드와실제1배율683pt 창의64자 변경을 재검증했다.", "evidence": [{"kind": "spec", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "code", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "visual", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "interaction", "path": "design/evidence/single-view-tabs.md", "sha256": "2a6abd2aefaa58cfbbaf30721d31ae5ef392d1ffc84655c57e59b23ab8e1aad3"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-ALL-COLUMNS", "status": "pass", "reason": "실제4/5셸의 native 전환/두 모드/최소 창/keyboard·manual scroll/ENV/확대와22개 검사를 확인했다. 발견한 불필요 축과 display-cycle crash를 수정하고5회 실제 왕복 및 최종 확대/복귀로 재검증했다. 후속 사용자 교정에서 비동기 sizing의 순간적 두 축을 발견해 viewport 기반 native tile 전 갱신으로 대체했다. 좌우는 가로만/격자 복귀는 없음,layout 내 수동 재타일링 없이 동기70회와실제3회 resize/기존 PTY 검사를 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "code", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "visual", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "interaction", "path": "design/evidence/all-terminal-columns.md", "sha256": "612d8326785d8e697963793a9678b4292c096f4f8dd2f08d94d4992f6f50554f"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}]}, {"id": "PROJECT-ALL-ROWS", "status": "pass", "reason": "실제4/5셸 모든 모드와 ENV/두 모드·최소 창·세로 탐색/상하 복원 및22개 검사를 확인했다. 마지막 표시 모드별 cap/삭제 경로를 제거했다. 현재 resize 수정 뒤 상하 넘침은 세로 축만 두고 격자로 돌아오면 해제됨을 실제 최소 창에서 확인했다. legacy 손잡이가 다른 축을 실제로 요구하는 경계도 회귀 검사한다.", "evidence": [{"kind": "spec", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "code", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "visual", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c"}, {"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}]}, {"id": "PROJECT-APP-ICON", "status": "pass", "reason": "원본 cmp/SHA 보존과10개 디코딩의 투명 모서리·본문 alpha를 확인했고 실제 두 모드 정보 창/Finder 표시 및22개 검사/번들 패키지 검사를 통과했다.", "evidence": [{"kind": "spec", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "code", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "visual", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}, {"kind": "interaction", "path": "design/evidence/macos-app-icon.md", "sha256": "268510c384da75e091a54703e55943af08d47af2c00c7b0b670ae62def577982"}]}, {"id": "PROJECT-README-PRESENTATION", "status": "pass", "reason": "사용자 지정 Wratop README 구성을 참고하며 실제 Chop 기능과 원본 앱 스크린샷을 제공한다. GitHub에서 사진·배지·목차를 확인하고 소스 실행과 기존 제한을 보존한다. 앱 UI/기능은 변경하지 않았다.", "evidence": [{"kind": "spec", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}, {"kind": "code", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}, {"kind": "visual", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}, {"kind": "interaction", "path": "design/evidence/readme-presentation.md", "sha256": "04912d3ee049ac31328516f63107efb3cc20b6f3d9f8b5c46e39c66e909374fe"}]}, {"id": "PROJECT-RESIZE-STABILITY", "status": "pass", "reason": "사용자 교정에 따라 tile 시점에 이전 문서/손잡이 폭을 남기지 않는다. 현재 전체 viewport와 문서 최소 크기에 필요한 축만 계산하고 실제 넘침은 유지한다. 수정 전 즉시 검사 실패,수정 후 두 스타일70회와실제두모드/최소/3회왕복/셸상태를 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다.", "evidence": [{"kind": "spec", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "code", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "visual", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "interaction", "path": "design/evidence/stable-canvas-scrollbars.md", "sha256": "955c4a9b02ded118b36774b1703da9ab1954dc1c63dff0c218c3a1d6c06670f9"}, {"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}]}, {"id": "PROJECT-EMPTY-TAB-CENTER", "status": "pass", "reason": "빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", "evidence": [{"kind": "spec", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "code", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "visual", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "interaction", "path": "design/evidence/center-empty-tab-content.md", "sha256": "47ab861daaa8f62721f3cb9cf1482fab50a99b3ba7e39a21e5f7013c3fbf8bd2"}, {"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-RENAME-CONTROLS", "status": "pass", "reason": "이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속CI의7pt 가림을 발견해 스택 배치 후 실제 trailing edge까지 문서 폭에 포함했다.12가지 이름/두 스타일·모드와실제1배율683pt 창의64자 변경을 재검증했다.", "evidence": [{"kind": "spec", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "code", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}, {"kind": "interaction", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292"}]}, {"id": "PROJECT-FILEBROWSER-ROW-SURFACE", "status": "pass", "reason": "후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "code", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7"}, {"kind": "spec", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "code", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "visual", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "interaction", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1"}, {"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "interaction", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}, {"id": "PROJECT-FILETREE-SEARCH", "status": "pass", "reason": "바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [{"kind": "spec", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "code", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "visual", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}, {"kind": "interaction", "path": "design/evidence/file-tree-search.md", "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5"}]}], "report_sha256": "e20e7a98de562e69c0ab3ff251d761156f5fb7c60a8524bff33346c00b5a0858", "event_id": "80fe095a3c8334c327d218319d9d4717d36ee1ea9817eee4d512862305f5fe0f", "recorded_at": "2026-10-15T05:54:00.773357+00:00"} diff --git a/design/gate-contract.json b/design/gate-contract.json index c2cc5da..9e67e2b 100644 --- a/design/gate-contract.json +++ b/design/gate-contract.json @@ -1,7 +1,7 @@ { "schema_version": 1, "catalog_version": 5, - "scope_notes": "Native macOS Chop v0.1, user task and DESIGN comparison. macOS26.5.2/CI15; macOS14 physical, full VoiceOver/all IMEs and hardware wheel are explicitly outside verified combinations. Shell/TUI VT styling and standard OS chrome are distinguished from app-owned labels. cmux is technical/feature inspiration, not a visual pixel reference. User correction 2026-10-14 adds R-DEFAULT canvas screenshot as a visual/state reference; first shell + three empty plus panes is mandatory at default entry. Previous main gate lacked that condition; its historical ledger is retained. PR #8: user-requested light/dark modes; preserve default grid in both modes, apply to native chrome and all terminals without PTY replacement, persist selection. Evidence is self review, with actual CUA observations recorded as Markdown. PR #10: user-requested icon-only mode toggle and layout presets. Preserve R-DEFAULT canvas and R-TOOLBAR location/options/selection; icons are an intentional user-requested change from text, not an exact crop clone. PR #11: editing-only same-workspace pane exchange with whole-pane/GPU drag preview and placement motion, requested and directly accepted by user. Preserve live PTY and split geometry. CUA before/after observations are separate from user motion feedback; no mid-drag frame capture or physical Reduce Motion execution is claimed. PR #12: user-requested uniform header background distinct from body in both modes, not per-terminal colors. Actual five-pane light/dark, editing, zoom and hidden-pane mode update rechecked without changing geometry. PR #13: explicit user request removes the blue pane outline on input focus; preserve real terminal cursor, first responder, focus navigation/storage and native button/menu focus. Drag-target outline is a separate transient state. Actual two-mode four-pane mouse/keyboard input, zoom and swap-back rechecked. PR #14: user-requested right file tree is a peer of terminal canvas below the full-width global toolbar. User hierarchy/stray-divider corrections and internal long-path/reopen issues were fixed and rechecked. New lazy file navigation, native picker/shortcuts, async stale-result protection and separate settings preserve terminal surfaces. OS open wait on final restart was observed; native folder reselection recovered it without UI blocking. Two-mode default/minimum UI and final drag/keyboard restoration are scoped separately from prior evidence. PR #14 review follow-up: isolate child metadata failures with a literal-name/leaf fallback, keep root errors.16 tests and latest normal folder expansion rechecked; no layout change. CodeRabbit covered5101fb1, follow-up self-reviewed; docstring coverage warning is disclosed separately. Path focus PR: user-requested path field focus-ring removal only. Native caret/selection/editing remain; other requested refinements are separate. Header seam PR: reuse the same header row and foreground; fill only the functional file divider header segment. Actual two-mode/resize/hide/editing consumers rechecked; PTY unchanged. Location icons PR: user Finder crop adapted to three native full-row icon/name shortcuts, fixed aspect-fit16pt column and14pt labels. Actual three locations, two modes/minimum window and empty/long outline rechecked. File drop work in progress: native file URL writer and existing-terminal input with literal argument quoting;19 tests pass. Actual CUA NSCoreDrag remains awaiting mouse-up with no destination entry observed. Do not mark product/merge complete until native endpoint is verified. Native endpoint subsequently observed in the same clean app after user interaction: the exact fixture file path appeared as a quoted shell argument in terminal11. Earlier CUA failure remains historical. Shortcut navigation group now has a neutral surface separate from file contents; actual two-mode/minimum-size/empty/long/three-destination checks. Single-view tabs preserve all pane identities and shells; actual four-running-shell/native tab flows, long/overflow/minimum/two-mode/restore verified. Uniform split changes remain subsequent PRs. All-pane columns and grid with scrollable canvas, actual four/five PTYs and two-mode/minimum/native focus/zoom/roundtrips verified; rows follow separately. All-pane rows complete mode switching without per-preset maximum/deletion; actual four/five-shell two-mode/minimum/vertical focus/manual scroll/restore verified. Supplied brand image preserved and packaged as continuous rounded ICNS with transparent margins; actual About light/dark and Finder plus ten representation checks verified. README 소개와 실제 macOS 앱 스크린샷을 추가했다. 앱 소스/토큰은 그대로이며 새 PROJECT-README-PRESENTATION의 문서·사진·목차 범위만 추가 검토한다. 사용자 resize 교정으로 canvas 지연 갱신을 현재 viewport 기반 native tile 전 갱신으로 수정했다. 기존 각 규칙의 이유·예외는 보존하며 영향 범위를 stable-canvas-scrollbars 관찰로 추가 검사한다. 빈 탭 중앙 배치 교정의 실제 창/geometry 검증을 추가한다. 기존 이름 편집을 헤더/탭에서 발견할 수 있는 진입점을 추가하고 긴 이름 레이아웃 회귀를 검증했다. 사용자 후속 요청의 가로 버튼/목록 배경을 적용한다. 이전 세로 열 정렬·108pt 묶음은 역사적 관찰로 보존하며 현재 계약은 가로 행과 목록 면이다. 버튼 기본색의 직접 확장을 더 연한 목록 면으로 바꾸라는 후속 사용자 교정을 현재 색상 기준으로 적용한다. 이전 색/판독은 역사적 기록으로 보존한다.", + "scope_notes": "Native macOS Chop v0.1, user task and DESIGN comparison. macOS26.5.2/CI15; macOS14 physical, full VoiceOver/all IMEs and hardware wheel are explicitly outside verified combinations. Shell/TUI VT styling and standard OS chrome are distinguished from app-owned labels. cmux is technical/feature inspiration, not a visual pixel reference. User correction 2026-10-14 adds R-DEFAULT canvas screenshot as a visual/state reference; first shell + three empty plus panes is mandatory at default entry. Previous main gate lacked that condition; its historical ledger is retained. PR #8: user-requested light/dark modes; preserve default grid in both modes, apply to native chrome and all terminals without PTY replacement, persist selection. Evidence is self review, with actual CUA observations recorded as Markdown. PR #10: user-requested icon-only mode toggle and layout presets. Preserve R-DEFAULT canvas and R-TOOLBAR location/options/selection; icons are an intentional user-requested change from text, not an exact crop clone. PR #11: editing-only same-workspace pane exchange with whole-pane/GPU drag preview and placement motion, requested and directly accepted by user. Preserve live PTY and split geometry. CUA before/after observations are separate from user motion feedback; no mid-drag frame capture or physical Reduce Motion execution is claimed. PR #12: user-requested uniform header background distinct from body in both modes, not per-terminal colors. Actual five-pane light/dark, editing, zoom and hidden-pane mode update rechecked without changing geometry. PR #13: explicit user request removes the blue pane outline on input focus; preserve real terminal cursor, first responder, focus navigation/storage and native button/menu focus. Drag-target outline is a separate transient state. Actual two-mode four-pane mouse/keyboard input, zoom and swap-back rechecked. PR #14: user-requested right file tree is a peer of terminal canvas below the full-width global toolbar. User hierarchy/stray-divider corrections and internal long-path/reopen issues were fixed and rechecked. New lazy file navigation, native picker/shortcuts, async stale-result protection and separate settings preserve terminal surfaces. OS open wait on final restart was observed; native folder reselection recovered it without UI blocking. Two-mode default/minimum UI and final drag/keyboard restoration are scoped separately from prior evidence. PR #14 review follow-up: isolate child metadata failures with a literal-name/leaf fallback, keep root errors.16 tests and latest normal folder expansion rechecked; no layout change. CodeRabbit covered5101fb1, follow-up self-reviewed; docstring coverage warning is disclosed separately. Path focus PR: user-requested path field focus-ring removal only. Native caret/selection/editing remain; other requested refinements are separate. Header seam PR: reuse the same header row and foreground; fill only the functional file divider header segment. Actual two-mode/resize/hide/editing consumers rechecked; PTY unchanged. Location icons PR: user Finder crop adapted to three native full-row icon/name shortcuts, fixed aspect-fit16pt column and14pt labels. Actual three locations, two modes/minimum window and empty/long outline rechecked. File drop work in progress: native file URL writer and existing-terminal input with literal argument quoting;19 tests pass. Actual CUA NSCoreDrag remains awaiting mouse-up with no destination entry observed. Do not mark product/merge complete until native endpoint is verified. Native endpoint subsequently observed in the same clean app after user interaction: the exact fixture file path appeared as a quoted shell argument in terminal11. Earlier CUA failure remains historical. Shortcut navigation group now has a neutral surface separate from file contents; actual two-mode/minimum-size/empty/long/three-destination checks. Single-view tabs preserve all pane identities and shells; actual four-running-shell/native tab flows, long/overflow/minimum/two-mode/restore verified. Uniform split changes remain subsequent PRs. All-pane columns and grid with scrollable canvas, actual four/five PTYs and two-mode/minimum/native focus/zoom/roundtrips verified; rows follow separately. All-pane rows complete mode switching without per-preset maximum/deletion; actual four/five-shell two-mode/minimum/vertical focus/manual scroll/restore verified. Supplied brand image preserved and packaged as continuous rounded ICNS with transparent margins; actual About light/dark and Finder plus ten representation checks verified. README 소개와 실제 macOS 앱 스크린샷을 추가했다. 앱 소스/토큰은 그대로이며 새 PROJECT-README-PRESENTATION의 문서·사진·목차 범위만 추가 검토한다. 사용자 resize 교정으로 canvas 지연 갱신을 현재 viewport 기반 native tile 전 갱신으로 수정했다. 기존 각 규칙의 이유·예외는 보존하며 영향 범위를 stable-canvas-scrollbars 관찰로 추가 검사한다. 빈 탭 중앙 배치 교정의 실제 창/geometry 검증을 추가한다. 기존 이름 편집을 헤더/탭에서 발견할 수 있는 진입점을 추가하고 긴 이름 레이아웃 회귀를 검증했다. 사용자 후속 요청의 가로 버튼/목록 배경을 적용한다. 이전 세로 열 정렬·108pt 묶음은 역사적 관찰로 보존하며 현재 계약은 가로 행과 목록 면이다. 버튼 기본색의 직접 확장을 더 연한 목록 면으로 바꾸라는 후속 사용자 교정을 현재 색상 기준으로 적용한다. 이전 색/판독은 역사적 기록으로 보존한다. 사용자 요청의 파일트리 이름 검색을 기존 native 탐색 흐름에 추가한다. 파일 내용 검색과 새 포인터 드래그 종단 성공은 주장하지 않으며 결과 URL 경로는 실제 파일 식별자로 검사했다.", "targets": [ "Sources", "Resources/terminal.conf", @@ -721,7 +721,7 @@ "id": "RUI-02", "applicable": true, "scope": "Chop v0.1 workspace/pane/toolbar/native dialogs; specific scope and exclusions below", - "reason": "기존 ChopStyle14pt와 동적 labelColor를 실제 바로가기 label/icon에 적용한다. 고정 icon box는 원본 비율을 보존하며 terminal/header 토큰은 바꾸지 않는다. 앱 아이콘은 이후 제공된 원본 색을 그대로 쓰고 UI/header/native accent 토큰을 확장하거나 바꾸지 않았다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", + "reason": "기존 ChopStyle14pt와 동적 labelColor를 실제 바로가기 label/icon에 적용한다. 고정 icon box는 원본 비율을 보존하며 terminal/header 토큰은 바꾸지 않는다. 앱 아이콘은 이후 제공된 원본 색을 그대로 쓰고 UI/header/native accent 토큰을 확장하거나 바꾸지 않았다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "code" ], @@ -741,7 +741,7 @@ "id": "RUI-04", "applicable": true, "scope": "Chop v0.1 workspace/pane/toolbar/native dialogs; specific scope and exclusions below", - "reason": "홈 아이콘 포인터 클릭과 문서/다운로드 실제 클릭으로 각 목적지 경로가 바뀌는 것을 확인했다. native full-row hit/AX 버튼 역할과16개 기존 경로/PTY 검사를 보존한다. 파일 드롭의 실제 사용자 조작 후 endpoint를 AX로 확인했으며 Enter 미전송은 실제 PTY 검사로 별도 확인했다. 이번 단일 탭 보기는 실제4셸 전환/ENV 보존/추가·닫기/가로 탐색/복원을 확인했다. 실제4/5셸 좌우/격자/탭 전환과 keyboard/manual scroll, ENV 보존 및 확대를 확인했다. 상하4/5셸 전환과 모든 모드 연속 전환/ENV 유지/Scroll Up·keyboard focus/재실행을 실제 확인했다.", + "reason": "홈 아이콘 포인터 클릭과 문서/다운로드 실제 클릭으로 각 목적지 경로가 바뀌는 것을 확인했다. native full-row hit/AX 버튼 역할과16개 기존 경로/PTY 검사를 보존한다. 파일 드롭의 실제 사용자 조작 후 endpoint를 AX로 확인했으며 Enter 미전송은 실제 PTY 검사로 별도 확인했다. 이번 단일 탭 보기는 실제4셸 전환/ENV 보존/추가·닫기/가로 탐색/복원을 확인했다. 실제4/5셸 좌우/격자/탭 전환과 keyboard/manual scroll, ENV 보존 및 확대를 확인했다. 상하4/5셸 전환과 모든 모드 연속 전환/ENV 유지/Scroll Up·keyboard focus/재실행을 실제 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "interaction" @@ -796,7 +796,7 @@ "id": "RUI-09", "applicable": true, "scope": "Chop v0.1 workspace/pane/toolbar/native dialogs; specific scope and exclusions below", - "reason": "바로가기 라벨은 system14pt medium을 재사용한다.16pt icon box와 native 버튼 높이를 글자 크기로 오인하지 않으며 작은 자체 보조 문구를 추가하지 않았다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", + "reason": "바로가기 라벨은 system14pt medium을 재사용한다.16pt icon box와 native 버튼 높이를 글자 크기로 오인하지 않으며 작은 자체 보조 문구를 추가하지 않았다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "code", "visual" @@ -835,7 +835,7 @@ "id": "RUI-12", "applicable": true, "scope": "Chop v0.1 workspace/pane/toolbar/native dialogs; specific scope and exclusions below", - "reason": "사용자 Finder crop와 SF Symbols 출처를 기록했다. 홈=house/다운로드=arrow.down.circle/문서=doc 의미·방향과 실제 목적지 행동을 대조했고 image를 비율 유지해 표시한다. 앱 아이콘은 기능 SF 기호와 구분해 사용자 원본/관찰한 macOS crop/Apple HIG 근거 및 실제 bundle/정보 창/Finder 소비를 기록했다. 기존 native SF 예외는 그대로다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "사용자 Finder crop와 SF Symbols 출처를 기록했다. 홈=house/다운로드=arrow.down.circle/문서=doc 의미·방향과 실제 목적지 행동을 대조했고 image를 비율 유지해 표시한다. 앱 아이콘은 기능 SF 기호와 구분해 사용자 원본/관찰한 macOS crop/Apple HIG 근거 및 실제 bundle/정보 창/Finder 소비를 기록했다. 기존 native SF 예외는 그대로다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "code", "visual" @@ -852,7 +852,7 @@ "id": "RUI-13", "applicable": true, "scope": "Chop v0.1 workspace/pane/toolbar/native dialogs; specific scope and exclusions below", - "reason": "세로 행으로 바꾼 뒤 최소842×442pt에서 header/path/세 바로가기와 파일 목록이 가려지지 않는 것을 두 모드로 확인했다. 빈 상태는 scrollbar 없이, 긴 파일 목록은 기존 native scroll로 표시한다. 108pt 묶음과 기존 header/path/목록이 두 모드 최소842×442에서도 가려지지 않았다. 탭 overflow와 긴 이름/681×432 최소 창을 두 모드에서 확인했고 크기 변경 후 선택 탭을 드러내도록 수정했다. 실제 두 모드/최소842×442에서 모든 칸에 가로 탐색/키보드 focus로 접근하며 창을 화면 밖으로 강제 확대하지 않는다. 상하 모든 pane을 유지하며 두 모드1100×752/최소681×442에서 세로 scroll로 접근하고 불필요한 가로 scroller는 생기지 않았다. 사용자 리사이즈 교정 후 tile 직전 viewport 기준으로 축을 정해 들어가는 canvas의 불필요한 손잡이를 제거했다. 실제 두 모드/최소/반복 크기 변경과70회 동기 경계 회귀를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "세로 행으로 바꾼 뒤 최소842×442pt에서 header/path/세 바로가기와 파일 목록이 가려지지 않는 것을 두 모드로 확인했다. 빈 상태는 scrollbar 없이, 긴 파일 목록은 기존 native scroll로 표시한다. 108pt 묶음과 기존 header/path/목록이 두 모드 최소842×442에서도 가려지지 않았다. 탭 overflow와 긴 이름/681×432 최소 창을 두 모드에서 확인했고 크기 변경 후 선택 탭을 드러내도록 수정했다. 실제 두 모드/최소842×442에서 모든 칸에 가로 탐색/키보드 focus로 접근하며 창을 화면 밖으로 강제 확대하지 않는다. 상하 모든 pane을 유지하며 두 모드1100×752/최소681×442에서 세로 scroll로 접근하고 불필요한 가로 scroller는 생기지 않았다. 사용자 리사이즈 교정 후 tile 직전 viewport 기준으로 축을 정해 들어가는 canvas의 불필요한 손잡이를 제거했다. 실제 두 모드/최소/반복 크기 변경과70회 동기 경계 회귀를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "code", "visual", @@ -962,7 +962,7 @@ "id": "RUI-22", "applicable": true, "scope": "Chop v0.1 workspace/pane/toolbar/native dialogs; specific scope and exclusions below", - "reason": "부모 inset12·그룹 간8과 내부 row28/gap4/icon16/name-gap8의 소유를 구별한다. 실제 빈/긴 목록·최소/기본 창에서 padding 중첩이나 잘림이 없다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "부모 inset12·그룹 간8과 내부 row28/gap4/icon16/name-gap8의 소유를 구별한다. 실제 빈/긴 목록·최소/기본 창에서 padding 중첩이나 잘림이 없다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "code", "visual" @@ -973,7 +973,7 @@ "id": "RUI-23", "applicable": true, "scope": "Chop v0.1 workspace/pane/toolbar/native dialogs; specific scope and exclusions below", - "reason": "바로가기만 같은14pt/동적 labelColor/네이티브 버튼 역할 안에서 바꿨다. 사용자 요청의 path field/pane focus-ring 생략과 실제 caret/selection, native 버튼/메뉴 의미는 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", + "reason": "바로가기만 같은14pt/동적 labelColor/네이티브 버튼 역할 안에서 바꿨다. 사용자 요청의 path field/pane focus-ring 생략과 실제 caret/selection, native 버튼/메뉴 의미는 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "code", @@ -996,7 +996,7 @@ "id": "RUI-24", "applicable": true, "scope": "Chop v0.1 workspace/pane/toolbar/native dialogs; specific scope and exclusions below", - "reason": "파일 제목은 탐색 영역 이름이고 행 이름은 실제 항목이다. 경로를 매 행에 반복하거나 loading/empty 상태를 배지로 중복하지 않는다. tooltip/AX 전체 경로는 접근/긴 경로 보완이다.", + "reason": "파일 제목은 탐색 영역 이름이고 행 이름은 실제 항목이다. 경로를 매 행에 반복하거나 loading/empty 상태를 배지로 중복하지 않는다. tooltip/AX 전체 경로는 접근/긴 경로 보완이다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "visual" @@ -1007,7 +1007,7 @@ "id": "RUI-25", "applicable": true, "scope": "Chop v0.1 workspace/pane/toolbar/native dialogs; specific scope and exclusions below", - "reason": "path→세 목적지 행→파일 outline 순서로 탐색 소속을 유지한다. 목적지 이름을 별도 설명/배지로 반복하지 않고 공통 toolbar 아래 peer 구조와 header 연결을 보존한다.", + "reason": "path→세 목적지 행→파일 outline 순서로 탐색 소속을 유지한다. 목적지 이름을 별도 설명/배지로 반복하지 않고 공통 toolbar 아래 peer 구조와 header 연결을 보존한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "visual" @@ -1135,7 +1135,7 @@ "id": "PROJECT-APPEARANCE", "applicable": true, "scope": "상단 mode icon, 보기 메뉴, native chrome, 빈/실행/숨긴 칸, 새/복원 셸, 재실행 설정", - "reason": "새 icon/label의 동적 labelColor와 기존 mode를 실제 기본/최소 창의 light/dark에서 확인했다. 기존 header/본문 및 path focus 예외는 유지한다. 바로가기 묶음도 기존 headerBackground를 두 모드에서 갱신하는 것을 실제 확인했다. 새 탭/선택/넘침과 복원된 단일 보기에서도 두 모드 토큰과 native 강조를 실제 확인했다. 새 overflow canvas는 투명 native scroll 배경 안의 기존 두 모드 terminal/header를 유지하며 최소/기본 창을 실제 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", + "reason": "새 icon/label의 동적 labelColor와 기존 mode를 실제 기본/최소 창의 light/dark에서 확인했다. 기존 header/본문 및 path focus 예외는 유지한다. 바로가기 묶음도 기존 headerBackground를 두 모드에서 갱신하는 것을 실제 확인했다. 새 탭/선택/넘침과 복원된 단일 보기에서도 두 모드 토큰과 native 강조를 실제 확인했다. 새 overflow canvas는 투명 native scroll 배경 안의 기존 두 모드 terminal/header를 유지하며 최소/기본 창을 실제 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "code", @@ -1200,7 +1200,7 @@ "id": "PROJECT-FILETREE", "applicable": true, "scope": "오른쪽 native outline의 경로 입력/폴더 선택기/홈·다운로드·문서·하위 lazy read/상태 복구/Finder·복사/설정 저장", - "reason": "새 아이콘/이름 행에서 기존 홈·다운로드·문서 URL과 target-action을 그대로 쓴다. 실제 세 경로 이동·빈 폴더와 긴 목록을 확인했고 탐색/비동기/PTY는 바꾸지 않았다. 파일/폴더 행에 native file URL writer를 추가했고 파일 경로가 실제 terminal endpoint에 도달한 것을 확인했다. 새 묶음 안에서 실제 세 목적지 클릭과 빈/긴 목록을 확인했으며 탐색 로직은 유지한다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "새 아이콘/이름 행에서 기존 홈·다운로드·문서 URL과 target-action을 그대로 쓴다. 실제 세 경로 이동·빈 폴더와 긴 목록을 확인했고 탐색/비동기/PTY는 바꾸지 않았다. 파일/폴더 행에 native file URL writer를 추가했고 파일 경로가 실제 terminal endpoint에 도달한 것을 확인했다. 새 묶음 안에서 실제 세 목적지 클릭과 빈/긴 목록을 확인했으며 탐색 로직은 유지한다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "code", @@ -1213,7 +1213,7 @@ "id": "PROJECT-FILETREE-HIERARCHY", "applicable": true, "scope": "공통 toolbar 아래 canvas와 파일 tree peer 관계, header 정렬·폭·개폐 경계·minimum·두 모드", - "reason": "canvas/file peer hierarchy와 header40pt를 유지하고 경계 상단 표면을 연결했다. 두 모드·폭300→340→300·숨김/재열기·편집 header와 기존 geometry/surface 검사16개를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "canvas/file peer hierarchy와 header40pt를 유지하고 경계 상단 표면을 연결했다. 두 모드·폭300→340→300·숨김/재열기·편집 header와 기존 geometry/surface 검사16개를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "code", @@ -1226,7 +1226,7 @@ "id": "PROJECT-PATH-FOCUS", "applicable": true, "scope": "파일 트리 경로 field의 클릭/편집·light/dark", - "reason": "사용자 요청대로 외곽 focus ring 없이 실제 caret/selection/editing/Enter를 유지한다. 두 모드 실제 조작과 기존16개 검사를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "사용자 요청대로 외곽 focus ring 없이 실제 caret/selection/editing/Enter를 유지한다. 두 모드 실제 조작과 기존16개 검사를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "code", @@ -1252,7 +1252,7 @@ "id": "PROJECT-FILE-DROP", "applicable": true, "scope": "실제 파일/폴더 row → 실행 중인 terminal body의 경로 입력·Enter 미전송·focus/같은 surface·기존 pane 이동 공존", - "reason": "실제 사용자 조작 후 clean 앱의 터미널11에서 fixture 파일 경로의 인용 입력을 AX로 확인했다. 최초 CUA 놓기 대기와 후속 endpoint 관찰을 구분한다. Enter 미전송·다른 칸/surface·닫힌 target·인용/거절은19개 자동 검사와 코드로 검증하며 물리 변형 전체를 실행했다고 주장하지 않는다.", + "reason": "실제 사용자 조작 후 clean 앱의 터미널11에서 fixture 파일 경로의 인용 입력을 AX로 확인했다. 최초 CUA 놓기 대기와 후속 endpoint 관찰을 구분한다. Enter 미전송·다른 칸/surface·닫힌 target·인용/거절은19개 자동 검사와 코드로 검증하며 물리 변형 전체를 실행했다고 주장하지 않는다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "code", @@ -1382,7 +1382,20 @@ "id": "PROJECT-FILEBROWSER-ROW-SURFACE", "applicable": true, "scope": "홈·다운로드·문서 가로 native 버튼과 아래 파일 목록/빈·오류 배경·두 모드·최소 폭", - "reason": "후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", + "reason": "후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", + "checks": [ + "spec", + "code", + "visual", + "interaction" + ], + "exceptions": [] + }, + { + "id": "PROJECT-FILETREE-SEARCH", + "applicable": true, + "scope": "현재 폴더 하위의 이름 검색,입력/초기화/상대 경로·동명 결과/폴더 키보드 활성화/취소·늦은 응답/0건·부분·오류·제한/두 모드·최소 폭", + "reason": "바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "checks": [ "spec", "code", diff --git a/design/gate-report.json b/design/gate-report.json index d71d23a..eb34783 100644 --- a/design/gate-report.json +++ b/design/gate-report.json @@ -1,11 +1,11 @@ { "schema_version": 1, "reviewer": "Codex self-review; actual code/test/CUA observations, not independent approval", - "reviewed_at": "2026-10-15T05:28:20.151150+00:00", - "evidence_note": "visual Markdown files record images directly viewed in the CUA conversation; they are not exported PNG files. CLI validates record integrity, not image aesthetics. PR #8: changed appearance scopes rechecked against actual light/dark screenshots and E-A1–A6; unchanged structure/native exceptions retain earlier evidence; local 10-test suite rerun. No independent approval or exported PNG claimed. PR #10: toolbar icon roles, copy, geometry and actions rechecked in actual CUA images/AX, four layouts, both modes, minimum window and restart. Existing scopes outside changed toolbar retain prior observations and rerun PTY checks. PR #11: changed handle, preview, movement, keyboard, same live PTY and persisted order rechecked; direct user acceptance covers requested motion. CUA cannot capture transient drag frames; Reduce Motion physical settings were not changed. Unchanged exclusions/native exceptions retain prior evidence; 11-test checks rerun. PR #12: actual CUA light/dark header/body contrast, five-pane editing/zoom/hidden-pane updates rechecked; no new text/geometry. Existing exceptions and unrelated observations retained. 11-test check passed. Final PR #12 review follow-up adds only three doc comments in response to CodeRabbit coverage warning. Strict format/diff checks passed; no executable behavior or visual contract changed, so E-H1–5 remains applicable. External review coverage is explicitly fccec, follow-up comments self-reviewed. PR #13: pane focus outline removed by explicit user request. Real mouse/keyboard shell input and AX focus, light/dark, zoom and drag swap-back were rechecked in current CUA renders. Previous focus-border appearance is historical; RUI-23 declares the user-requested terminal-only exception, native control focus remains. No transient drag screenshot or full VoiceOver claim. Unchanged scopes retain prior evidence. PR #14: changed toolbar/body/file-panel consumers rechecked in actual CUA, including user hierarchy and stray-line corrections, long path, reopen, two-mode minimum, native folder picker, literal paths, folder expansion, copy/Finder and live shell preservation.15 tests passed. Final restart OS open wait and picker recovery are documented; no permission root cause claimed. Final pointer swap succeeded with2× image coordinates, keyboard restored original order. No drag implementation change or transient-frame claim. Unchanged native exclusions retain prior evidence. PR #14 follow-up: CodeRabbit actual review5101fb1/19files found one valid child metadata failure propagation. Minimal fallback plus deterministic injected-I/O regression test passed with all16 tests3.737s. Latest app restored project root and expanded Sources. Unchanged layout/appearance observations remain applicable; no external re-review of this follow-up is claimed. Path field actual dark/light click/selection/caret/edit+Enter rechecked;16 tests3.597s passed. Other native/layout/terminal consumers are unchanged. Header seam scope rechecked in actual light/dark,300→340→300pt file width,hide/reopen and editing headers.16 tests3.606s passed; no new input/drag/icon behavior. Location shortcut actual CUA icon click/three destinations, two modes,842×442 minimum and empty/long folder states rechecked;16 tests4.907s passed. Initial native glyph-width alignment failure is retained. File drop19 tests6.307s pass, typed pasteboard/argv/PTY/focus/no-Enter/lifecycle verified. Actual OS source writer observed but drop completion not verified; RUI-04/PROJECT-FILE-DROP unknown. No native endpoint or independent approval claimed. Actual user-operated native file endpoint observed via CUA AX; no-Enter is established separately by the real PTY test, not inferred from subsequent shell output. CUA shortcut section actual checks and19 tests4.852s passed; no external approval claimed. Twenty tests4.923s plus native CUA endpoint checks; initial resize-hidden selection fixed and rechecked. Twenty-two tests4.734s; unwanted scroll axis and native display-cycle crash found/fixed, native repeated switches and final zoom checks completed. Twenty-two tests5.388s; actual four/five PTYs, ENV, native rows restore and minimum681x442 both modes passed. Twenty-two tests5.065s and bundled icon decode; original bytes preserved; generated preview rejected, production native mask verified at actual consumers. README 변경은 readme-presentation 관찰에서 검증했다. 기존 앱 소스는 변경되지 않아 기존 규칙의 이유·예외·관찰을 유지한다. 스크롤 안정성은 즉시 native geometry 회귀와 실제 window resize/보기/확대/기존 셸 유지로 추가 검증했다. 과거 지연 수렴의 검사 한계와 native crash 기록을 지우지 않았다. 비표시 window 검사는 수정 전에도 통과했으므로 실제 앱 최초 결함과 최종 판독을 별도로 기록한다. 실제 연필 클릭·비선택 대상·잘못된 이름·취소·긴 탭·두 모드/최소·PTY·재실행을 최신main의스크롤/중앙 배치와 결합해 확인했다. 두 모드·기본/최소 창·실제 목적지/빈/오류/복구와27개 검사를 확인했다. 이번 포인터 파일 드래그 미확인은 별도로 기록하며 새 성공으로 표시하지 않는다. 파일 목록 색의 변경 범위만 새 두 모드 release 화면/27개 검사로 판독했다.", + "reviewed_at": "2026-10-15T05:54:00.558714+00:00", + "evidence_note": "visual Markdown files record images directly viewed in the CUA conversation; they are not exported PNG files. CLI validates record integrity, not image aesthetics. PR #8: changed appearance scopes rechecked against actual light/dark screenshots and E-A1–A6; unchanged structure/native exceptions retain earlier evidence; local 10-test suite rerun. No independent approval or exported PNG claimed. PR #10: toolbar icon roles, copy, geometry and actions rechecked in actual CUA images/AX, four layouts, both modes, minimum window and restart. Existing scopes outside changed toolbar retain prior observations and rerun PTY checks. PR #11: changed handle, preview, movement, keyboard, same live PTY and persisted order rechecked; direct user acceptance covers requested motion. CUA cannot capture transient drag frames; Reduce Motion physical settings were not changed. Unchanged exclusions/native exceptions retain prior evidence; 11-test checks rerun. PR #12: actual CUA light/dark header/body contrast, five-pane editing/zoom/hidden-pane updates rechecked; no new text/geometry. Existing exceptions and unrelated observations retained. 11-test check passed. Final PR #12 review follow-up adds only three doc comments in response to CodeRabbit coverage warning. Strict format/diff checks passed; no executable behavior or visual contract changed, so E-H1–5 remains applicable. External review coverage is explicitly fccec, follow-up comments self-reviewed. PR #13: pane focus outline removed by explicit user request. Real mouse/keyboard shell input and AX focus, light/dark, zoom and drag swap-back were rechecked in current CUA renders. Previous focus-border appearance is historical; RUI-23 declares the user-requested terminal-only exception, native control focus remains. No transient drag screenshot or full VoiceOver claim. Unchanged scopes retain prior evidence. PR #14: changed toolbar/body/file-panel consumers rechecked in actual CUA, including user hierarchy and stray-line corrections, long path, reopen, two-mode minimum, native folder picker, literal paths, folder expansion, copy/Finder and live shell preservation.15 tests passed. Final restart OS open wait and picker recovery are documented; no permission root cause claimed. Final pointer swap succeeded with2× image coordinates, keyboard restored original order. No drag implementation change or transient-frame claim. Unchanged native exclusions retain prior evidence. PR #14 follow-up: CodeRabbit actual review5101fb1/19files found one valid child metadata failure propagation. Minimal fallback plus deterministic injected-I/O regression test passed with all16 tests3.737s. Latest app restored project root and expanded Sources. Unchanged layout/appearance observations remain applicable; no external re-review of this follow-up is claimed. Path field actual dark/light click/selection/caret/edit+Enter rechecked;16 tests3.597s passed. Other native/layout/terminal consumers are unchanged. Header seam scope rechecked in actual light/dark,300→340→300pt file width,hide/reopen and editing headers.16 tests3.606s passed; no new input/drag/icon behavior. Location shortcut actual CUA icon click/three destinations, two modes,842×442 minimum and empty/long folder states rechecked;16 tests4.907s passed. Initial native glyph-width alignment failure is retained. File drop19 tests6.307s pass, typed pasteboard/argv/PTY/focus/no-Enter/lifecycle verified. Actual OS source writer observed but drop completion not verified; RUI-04/PROJECT-FILE-DROP unknown. No native endpoint or independent approval claimed. Actual user-operated native file endpoint observed via CUA AX; no-Enter is established separately by the real PTY test, not inferred from subsequent shell output. CUA shortcut section actual checks and19 tests4.852s passed; no external approval claimed. Twenty tests4.923s plus native CUA endpoint checks; initial resize-hidden selection fixed and rechecked. Twenty-two tests4.734s; unwanted scroll axis and native display-cycle crash found/fixed, native repeated switches and final zoom checks completed. Twenty-two tests5.388s; actual four/five PTYs, ENV, native rows restore and minimum681x442 both modes passed. Twenty-two tests5.065s and bundled icon decode; original bytes preserved; generated preview rejected, production native mask verified at actual consumers. README 변경은 readme-presentation 관찰에서 검증했다. 기존 앱 소스는 변경되지 않아 기존 규칙의 이유·예외·관찰을 유지한다. 스크롤 안정성은 즉시 native geometry 회귀와 실제 window resize/보기/확대/기존 셸 유지로 추가 검증했다. 과거 지연 수렴의 검사 한계와 native crash 기록을 지우지 않았다. 비표시 window 검사는 수정 전에도 통과했으므로 실제 앱 최초 결함과 최종 판독을 별도로 기록한다. 실제 연필 클릭·비선택 대상·잘못된 이름·취소·긴 탭·두 모드/최소·PTY·재실행을 최신main의스크롤/중앙 배치와 결합해 확인했다. 두 모드·기본/최소 창·실제 목적지/빈/오류/복구와27개 검사를 확인했다. 이번 포인터 파일 드래그 미확인은 별도로 기록하며 새 성공으로 표시하지 않는다. 파일 목록 색의 변경 범위만 새 두 모드 release 화면/27개 검사로 판독했다. 검색 변경 범위를 실제 입력/키보드/복구/두 모드·최소 창 새 렌더와32개 검사로 확인했다.", "catalog_sha256": "9af51eedfbd6625fdcae46aa6a55e6206c447fe43b23fb1d0ff61f8ac800114f", - "contract_sha256": "00e7115e48726fe9bd15bf22e667a7e2f6ece252a55362e3adad0a669dbc4ad0", - "target_sha256": "21a3b173b86f54138c1cd0d396663aaccd67d179208ad14af3eb8cdc8d4bf5f5", + "contract_sha256": "24dbc8cfadce3bb2b5e08737ae35f7484ecd875e334596b629a15eb2fa7b7985", + "target_sha256": "1e0d032f34bac356f8d68c43552be46afa1047fda411200a26e3f3422c975c1f", "results": [ { "id": "ORC-F01", @@ -2267,7 +2267,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "spec", @@ -2289,7 +2289,7 @@ { "id": "RUI-02", "status": "pass", - "reason": "기존 ChopStyle14pt와 동적 labelColor를 실제 바로가기 label/icon에 적용한다. 고정 icon box는 원본 비율을 보존하며 terminal/header 토큰은 바꾸지 않는다. 앱 아이콘은 이후 제공된 원본 색을 그대로 쓰고 UI/header/native accent 토큰을 확장하거나 바꾸지 않았다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", + "reason": "기존 ChopStyle14pt와 동적 labelColor를 실제 바로가기 label/icon에 적용한다. 고정 icon box는 원본 비율을 보존하며 terminal/header 토큰은 바꾸지 않는다. 앱 아이콘은 이후 제공된 원본 색을 그대로 쓰고 UI/header/native accent 토큰을 확장하거나 바꾸지 않았다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "code", @@ -2340,6 +2340,11 @@ "kind": "code", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, @@ -2351,7 +2356,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "spec", @@ -2383,12 +2388,12 @@ { "id": "RUI-04", "status": "pass", - "reason": "홈 아이콘 포인터 클릭과 문서/다운로드 실제 클릭으로 각 목적지 경로가 바뀌는 것을 확인했다. native full-row hit/AX 버튼 역할과16개 기존 경로/PTY 검사를 보존한다. 파일 드롭의 실제 사용자 조작 후 endpoint를 AX로 확인했으며 Enter 미전송은 실제 PTY 검사로 별도 확인했다. 이번 단일 탭 보기는 실제4셸 전환/ENV 보존/추가·닫기/가로 탐색/복원을 확인했다. 실제4/5셸 좌우/격자/탭 전환과 keyboard/manual scroll, ENV 보존 및 확대를 확인했다. 상하4/5셸 전환과 모든 모드 연속 전환/ENV 유지/Scroll Up·keyboard focus/재실행을 실제 확인했다.", + "reason": "홈 아이콘 포인터 클릭과 문서/다운로드 실제 클릭으로 각 목적지 경로가 바뀌는 것을 확인했다. native full-row hit/AX 버튼 역할과16개 기존 경로/PTY 검사를 보존한다. 파일 드롭의 실제 사용자 조작 후 endpoint를 AX로 확인했으며 Enter 미전송은 실제 PTY 검사로 별도 확인했다. 이번 단일 탭 보기는 실제4셸 전환/ENV 보존/추가·닫기/가로 탐색/복원을 확인했다. 실제4/5셸 좌우/격자/탭 전환과 keyboard/manual scroll, ENV 보존 및 확대를 확인했다. 상하4/5셸 전환과 모든 모드 연속 전환/ENV 유지/Scroll Up·keyboard focus/재실행을 실제 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "interaction", @@ -2509,6 +2514,16 @@ "kind": "interaction", "path": "design/evidence/all-terminal-rows.md", "sha256": "5f6bd02d50eaec59879e1d4ea99bc58571fc5c5d2b898a998e8fca8347edd21c" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "interaction", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, @@ -2520,7 +2535,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "visual", @@ -2609,7 +2624,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "visual", @@ -2716,7 +2731,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -2768,7 +2783,7 @@ { "id": "RUI-09", "status": "exception", - "reason": "바로가기 라벨은 system14pt medium을 재사용한다.16pt icon box와 native 버튼 높이를 글자 크기로 오인하지 않으며 작은 자체 보조 문구를 추가하지 않았다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", + "reason": "바로가기 라벨은 system14pt medium을 재사용한다.16pt icon box와 native 버튼 높이를 글자 크기로 오인하지 않으며 작은 자체 보조 문구를 추가하지 않았다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "code", @@ -2849,6 +2864,16 @@ "kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ], "exception_id": "CHOP-RUI-09" @@ -2861,7 +2886,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "visual", @@ -2918,7 +2943,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "visual", @@ -2970,7 +2995,7 @@ { "id": "RUI-12", "status": "exception", - "reason": "사용자 Finder crop와 SF Symbols 출처를 기록했다. 홈=house/다운로드=arrow.down.circle/문서=doc 의미·방향과 실제 목적지 행동을 대조했고 image를 비율 유지해 표시한다. 앱 아이콘은 기능 SF 기호와 구분해 사용자 원본/관찰한 macOS crop/Apple HIG 근거 및 실제 bundle/정보 창/Finder 소비를 기록했다. 기존 native SF 예외는 그대로다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "사용자 Finder crop와 SF Symbols 출처를 기록했다. 홈=house/다운로드=arrow.down.circle/문서=doc 의미·방향과 실제 목적지 행동을 대조했고 image를 비율 유지해 표시한다. 앱 아이콘은 기능 SF 기호와 구분해 사용자 원본/관찰한 macOS crop/Apple HIG 근거 및 실제 bundle/정보 창/Finder 소비를 기록했다. 기존 native SF 예외는 그대로다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "code", @@ -3066,6 +3091,16 @@ "kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ], "exception_id": "CHOP-RUI-12" @@ -3073,7 +3108,7 @@ { "id": "RUI-13", "status": "pass", - "reason": "세로 행으로 바꾼 뒤 최소842×442pt에서 header/path/세 바로가기와 파일 목록이 가려지지 않는 것을 두 모드로 확인했다. 빈 상태는 scrollbar 없이, 긴 파일 목록은 기존 native scroll로 표시한다. 108pt 묶음과 기존 header/path/목록이 두 모드 최소842×442에서도 가려지지 않았다. 탭 overflow와 긴 이름/681×432 최소 창을 두 모드에서 확인했고 크기 변경 후 선택 탭을 드러내도록 수정했다. 실제 두 모드/최소842×442에서 모든 칸에 가로 탐색/키보드 focus로 접근하며 창을 화면 밖으로 강제 확대하지 않는다. 상하 모든 pane을 유지하며 두 모드1100×752/최소681×442에서 세로 scroll로 접근하고 불필요한 가로 scroller는 생기지 않았다. 사용자 리사이즈 교정 후 tile 직전 viewport 기준으로 축을 정해 들어가는 canvas의 불필요한 손잡이를 제거했다. 실제 두 모드/최소/반복 크기 변경과70회 동기 경계 회귀를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "세로 행으로 바꾼 뒤 최소842×442pt에서 header/path/세 바로가기와 파일 목록이 가려지지 않는 것을 두 모드로 확인했다. 빈 상태는 scrollbar 없이, 긴 파일 목록은 기존 native scroll로 표시한다. 108pt 묶음과 기존 header/path/목록이 두 모드 최소842×442에서도 가려지지 않았다. 탭 overflow와 긴 이름/681×432 최소 창을 두 모드에서 확인했고 크기 변경 후 선택 탭을 드러내도록 수정했다. 실제 두 모드/최소842×442에서 모든 칸에 가로 탐색/키보드 focus로 접근하며 창을 화면 밖으로 강제 확대하지 않는다. 상하 모든 pane을 유지하며 두 모드1100×752/최소681×442에서 세로 scroll로 접근하고 불필요한 가로 scroller는 생기지 않았다. 사용자 리사이즈 교정 후 tile 직전 viewport 기준으로 축을 정해 들어가는 canvas의 불필요한 손잡이를 제거했다. 실제 두 모드/최소/반복 크기 변경과70회 동기 경계 회귀를 추가 확인했다. 빈 탭 중앙 배치 교정 후 전용 컨테이너에서 기존 pane을 viewport 전체에 동기 배치한다. 실제5/7/8·두 모드·크기 왕복/격자 전환·파일 트리 개폐와25개 검사를 추가 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "code", @@ -3259,6 +3294,21 @@ "kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "interaction", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, @@ -3379,7 +3429,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "visual", @@ -3476,7 +3526,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "visual", @@ -3568,7 +3618,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "visual", @@ -3664,7 +3714,7 @@ { "id": "RUI-22", "status": "pass", - "reason": "부모 inset12·그룹 간8과 내부 row28/gap4/icon16/name-gap8의 소유를 구별한다. 실제 빈/긴 목록·최소/기본 창에서 padding 중첩이나 잘림이 없다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "부모 inset12·그룹 간8과 내부 row28/gap4/icon16/name-gap8의 소유를 구별한다. 실제 빈/긴 목록·최소/기본 창에서 padding 중첩이나 잘림이 없다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "code", @@ -3775,18 +3825,28 @@ "kind": "visual", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, { "id": "RUI-23", "status": "exception", - "reason": "바로가기만 같은14pt/동적 labelColor/네이티브 버튼 역할 안에서 바꿨다. 사용자 요청의 path field/pane focus-ring 생략과 실제 caret/selection, native 버튼/메뉴 의미는 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다.", + "reason": "바로가기만 같은14pt/동적 labelColor/네이티브 버튼 역할 안에서 바꿨다. 사용자 요청의 path field/pane focus-ring 생략과 실제 caret/selection, native 버튼/메뉴 의미는 유지한다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -3927,6 +3987,21 @@ "kind": "visual", "path": "design/evidence/terminal-name-controls.md", "sha256": "439aa6302133284f1873c4b2ae27e664c8e76f7e1a631770d833bde3731b5292" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ], "exception_id": "CHOP-PATH-FOCUS-RUI23" @@ -3934,12 +4009,12 @@ { "id": "RUI-24", "status": "pass", - "reason": "파일 제목은 탐색 영역 이름이고 행 이름은 실제 항목이다. 경로를 매 행에 반복하거나 loading/empty 상태를 배지로 중복하지 않는다. tooltip/AX 전체 경로는 접근/긴 경로 보완이다.", + "reason": "파일 제목은 탐색 영역 이름이고 행 이름은 실제 항목이다. 경로를 매 행에 반복하거나 loading/empty 상태를 배지로 중복하지 않는다. tooltip/AX 전체 경로는 접근/긴 경로 보완이다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "visual", @@ -3970,18 +4045,28 @@ "kind": "visual", "path": "design/evidence/pr14-file-tree.md", "sha256": "1981076e0642539fa0e072fd8396d9a44197be8cf1da3496ab81decb7d5e8bce" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, { "id": "RUI-25", "status": "pass", - "reason": "path→세 목적지 행→파일 outline 순서로 탐색 소속을 유지한다. 목적지 이름을 별도 설명/배지로 반복하지 않고 공통 toolbar 아래 peer 구조와 header 연결을 보존한다.", + "reason": "path→세 목적지 행→파일 outline 순서로 탐색 소속을 유지한다. 목적지 이름을 별도 설명/배지로 반복하지 않고 공통 toolbar 아래 peer 구조와 header 연결을 보존한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "visual", @@ -4052,6 +4137,16 @@ "kind": "visual", "path": "design/evidence/location-icons.md", "sha256": "cc1d8d6f44f426b5e8b8c160ca39d848c56d7a13e702f36f70e37f5463f4cf66" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, @@ -4063,7 +4158,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -4185,7 +4280,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -4427,7 +4522,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -4679,7 +4774,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -4751,7 +4846,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -4943,7 +5038,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -5015,7 +5110,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -5167,7 +5262,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -5439,7 +5534,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -5471,12 +5566,12 @@ { "id": "PROJECT-APPEARANCE", "status": "pass", - "reason": "새 icon/label의 동적 labelColor와 기존 mode를 실제 기본/최소 창의 light/dark에서 확인했다. 기존 header/본문 및 path focus 예외는 유지한다. 바로가기 묶음도 기존 headerBackground를 두 모드에서 갱신하는 것을 실제 확인했다. 새 탭/선택/넘침과 복원된 단일 보기에서도 두 모드 토큰과 native 강조를 실제 확인했다. 새 overflow canvas는 투명 native scroll 배경 안의 기존 두 모드 terminal/header를 유지하며 최소/기본 창을 실제 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", + "reason": "새 icon/label의 동적 labelColor와 기존 mode를 실제 기본/최소 창의 light/dark에서 확인했다. 기존 header/본문 및 path focus 예외는 유지한다. 바로가기 묶음도 기존 headerBackground를 두 모드에서 갱신하는 것을 실제 확인했다. 새 탭/선택/넘침과 복원된 단일 보기에서도 두 모드 토큰과 native 강조를 실제 확인했다. 새 overflow canvas는 투명 native scroll 배경 안의 기존 두 모드 terminal/header를 유지하며 최소/기본 창을 실제 확인했다. 이름/연필 native 버튼과 탭 우클릭을 추가해 실제 클릭/비선택 칸/공백 오류/Esc취소/두 모드·최소 긴 이름/240pt 탭 전체 표시/PTY와재실행 복원을 확인했다. 전체26개 검사를 통과했고 기존 스타일·예외는 보존했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -5742,6 +5837,26 @@ "kind": "interaction", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "interaction", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, @@ -5753,7 +5868,7 @@ { "kind": "spec", "path": "DESIGN.md", - "sha256": "6358afe7c4a266ac964d116aeb983c95dac373ce0575b976118f42cc981be537" + "sha256": "12cc997d5dc373ed854e992e1cac8fdba063e443ff1ae5a8e49d1779609d2084" }, { "kind": "code", @@ -6076,7 +6191,7 @@ { "id": "PROJECT-FILETREE", "status": "pass", - "reason": "새 아이콘/이름 행에서 기존 홈·다운로드·문서 URL과 target-action을 그대로 쓴다. 실제 세 경로 이동·빈 폴더와 긴 목록을 확인했고 탐색/비동기/PTY는 바꾸지 않았다. 파일/폴더 행에 native file URL writer를 추가했고 파일 경로가 실제 terminal endpoint에 도달한 것을 확인했다. 새 묶음 안에서 실제 세 목적지 클릭과 빈/긴 목록을 확인했으며 탐색 로직은 유지한다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "새 아이콘/이름 행에서 기존 홈·다운로드·문서 URL과 target-action을 그대로 쓴다. 실제 세 경로 이동·빈 폴더와 긴 목록을 확인했고 탐색/비동기/PTY는 바꾸지 않았다. 파일/폴더 행에 native file URL writer를 추가했고 파일 경로가 실제 terminal endpoint에 도달한 것을 확인했다. 새 묶음 안에서 실제 세 목적지 클릭과 빈/긴 목록을 확인했으며 탐색 로직은 유지한다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", @@ -6197,13 +6312,33 @@ "kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "interaction", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, { "id": "PROJECT-FILETREE-HIERARCHY", "status": "pass", - "reason": "canvas/file peer hierarchy와 header40pt를 유지하고 경계 상단 표면을 연결했다. 두 모드·폭300→340→300·숨김/재열기·편집 header와 기존 geometry/surface 검사16개를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "canvas/file peer hierarchy와 header40pt를 유지하고 경계 상단 표면을 연결했다. 두 모드·폭300→340→300·숨김/재열기·편집 header와 기존 geometry/surface 검사16개를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", @@ -6264,13 +6399,33 @@ "kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "interaction", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, { "id": "PROJECT-PATH-FOCUS", "status": "pass", - "reason": "사용자 요청대로 외곽 focus ring 없이 실제 caret/selection/editing/Enter를 유지한다. 두 모드 실제 조작과 기존16개 검사를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다.", + "reason": "사용자 요청대로 외곽 focus ring 없이 실제 caret/selection/editing/Enter를 유지한다. 두 모드 실제 조작과 기존16개 검사를 확인했다. 후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", @@ -6311,6 +6466,26 @@ "kind": "interaction", "path": "design/evidence/file-browser-row-surface.md", "sha256": "df590a07a5f7626e914c17a3dad4cefff6149dd1c13303e3ecdb76da982e88f7" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "interaction", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, @@ -6384,7 +6559,7 @@ { "id": "PROJECT-FILE-DROP", "status": "pass", - "reason": "실제 사용자 조작 후 clean 앱의 터미널11에서 fixture 파일 경로의 인용 입력을 AX로 확인했다. 최초 CUA 놓기 대기와 후속 endpoint 관찰을 구분한다. Enter 미전송·다른 칸/surface·닫힌 target·인용/거절은19개 자동 검사와 코드로 검증하며 물리 변형 전체를 실행했다고 주장하지 않는다.", + "reason": "실제 사용자 조작 후 clean 앱의 터미널11에서 fixture 파일 경로의 인용 입력을 AX로 확인했다. 최초 CUA 놓기 대기와 후속 endpoint 관찰을 구분한다. Enter 미전송·다른 칸/surface·닫힌 target·인용/거절은19개 자동 검사와 코드로 검증하며 물리 변형 전체를 실행했다고 주장하지 않는다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", @@ -6405,6 +6580,26 @@ "kind": "interaction", "path": "design/evidence/file-path-drag-drop.md", "sha256": "118cdd28791ef1318a4528ccfe617e17076535a32b50df8557289ba3ef6f6be5" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "interaction", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] }, @@ -6814,7 +7009,7 @@ { "id": "PROJECT-FILEBROWSER-ROW-SURFACE", "status": "pass", - "reason": "후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다.", + "reason": "후속 사용자 요청으로108pt 세로 묶음을28pt 개별 native rounded 가로 버튼/gap8로 대체했다. 아이콘 의미·14pt 글자·AX·목적지를 유지하고 목록/빈/오류를 기존 보조 배경의 별도 면으로 구분했다. 두 모드·최소280pt·실제 이동/상태와27개 검사/최소 폭 native hitTest를 확인했다. 버튼색을 그대로 넓힌 목록 면이 너무 강하다는 최신 사용자 교정으로 fileListBackground만 light F8F8F8/dark24262C의 연한 중립 면으로 조정했다. 두 모드의 새 release 화면과27개 검사에서 글자/아이콘 대비·헤더 정렬·기존 최소 폭 입력 경계를 확인했다. 버튼의 native 상태와본문/헤더는 유지한다. 바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", "evidence": [ { "kind": "spec", @@ -6855,6 +7050,53 @@ "kind": "interaction", "path": "design/evidence/file-tree-soft-surface.md", "sha256": "f6782e739aaf68fc5d3ec966b163b43c497f0ae87cb105a499e78e92c4683da1" + }, + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "interaction", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + } + ] + }, + { + "id": "PROJECT-FILETREE-SEARCH", + "status": "pass", + "reason": "바로가기 아래28pt native 검색창과 같은 목록 면의 상대 경로 결과를 추가했다. 두 모드·최소280pt·실제 입력/지우기/한글 붙여넣기·폴더 Enter·501개 안내/끝 스크롤·오류 복구와32개 검사로 변경 범위를 판독했다. 글자14pt medium/간격8·inset12·40pt 헤더/연한 목록색/실제 URL을 유지한다. 새 포인터 드래그 성공은 미확인으로 따로 기록한다.", + "evidence": [ + { + "kind": "spec", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "code", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "visual", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" + }, + { + "kind": "interaction", + "path": "design/evidence/file-tree-search.md", + "sha256": "350995948d79c5ba742a79c452874f71ebd080a0c8528fe47cb883bada055ab5" } ] } diff --git a/design/review.md b/design/review.md index 2c95f79..f00f775 100644 --- a/design/review.md +++ b/design/review.md @@ -84,3 +84,9 @@ V-42 / F-RENAME-TAB-REVEAL (regression): PR27 첫 CI에서464>457.5로 선택 V-43 / FILE-BROWSER-ROW-SURFACE: 후속 사용자 요청에 따라108pt 세로 바로가기 묶음을28pt native 버튼 행으로 대체하고 목록/빈/오류를 기존 보조 배경으로 구분했다. 두 모드·기본/최소 패널280pt·세 목적지 이동·빈/오류 복구와27개 검사/최소 폭 hitTest를 확인했다. 이번 CUA 포인터 파일 드래그는 도구 입력 제약으로 새 성공을 확인하지 못했으며 이전 drag 코드/기록과 구분했다. accepted-difference (사용자 가로 배치 지정),verified (변경 범위). [관찰](evidence/file-browser-row-surface.md). V-44 / F-TREE-SURFACE-CONTRAST: 버튼 기본색을 목록 전체로 확대한 첫 시도에 사용자가 더 옅은 톤을 요청했다. 최신 요구에 따라 light F8F8F8/dark24262C로 대비를 낮추고 두 모드의 실제 release 화면·27개 검사로 확인했다. fixed-and-verified (사용자 후속 교정 범위). [관찰](evidence/file-tree-soft-surface.md). + +V-45 / F-SEARCH-RELATIVE-PATH: URL 접두사 비교가 /var와/private/var 표현 차이에서 동명 파일을 구분하지 못하던 첫 구현을 순회 상대 경로로 수정했다. 자동 검사와 실제 두 모드 docs/README.md·README.md를 확인했다. fixed-and-verified. [관찰](evidence/file-tree-search.md). + +V-46 / F-SEARCH-KEYBOARD: 실제 Enter가 검색 폴더를 열지 않던 구현을 doubleAction 전달로 수정하고 native key event 검사·실제 Tab/Down/Return으로 폴더 진입/초기화를 확인했다. fixed-and-verified. [관찰](evidence/file-tree-search.md). + +V-47 / FILE-TREE-SEARCH: 사용자 요청의 이름 검색을 현재 루트 하위·상대 경로·실시간 입력/초기화·오류와부분 실패·취소·결과 제한으로 구현했다. 두 모드/기본·최소 창,실제 입력·한글 붙여넣기·검색 지우기·폴더 Enter·많은 결과 스크롤·오류 복구와32개 검사를 확인했다. 포인터 파일 드래그는 새 종단 성공을 확인하지 못했으며 native 결과 URL 검사·이전 드롭 구현/증거와 구분한다. aligned (변경된 검색 범위). [관찰](evidence/file-tree-search.md).