### execution attempt # setup: Temporary vault fixture used LONG=256 ASCII bytes for the extension-free published note stem. $ cd /workspaces/repo && swift run banal --help libxml2.so.2: cannot open shared object file $ LD_LIBRARY_PATH=/tmp swift run banal --help # /tmp/libxml2.so.2 was mapped to libxml2.so.16 for the retry. exit 1 UniformTypeIdentifiers is unavailable on Linux # final runtime result: The publish command could not execute, so no staged tree or JSON publish result was emitted. # No stubs, mocks, or bypasses were applied. ### identity contract // Sources/BANALPublisher/BorisIdentity.swift:20-34 /// Longest entity id Boris accepts, in UTF-8 bytes. public static let maximumByteCount = 255 public static func isValid(_ id: String) -> Bool { guard !id.isEmpty, id.utf8.count <= maximumByteCount else { return false } for segment in id.split(separator: "/", omittingEmptySubsequences: false) { if segment.isEmpty || segment == "." || segment == ".." { return false } if segment.unicodeScalars.contains(where: { rejectedCharacters.contains($0) }) { return false } } return true } ### publish assignment // Sources/BANALPublisher/BorisAdapter.swift:29-50 public static func entityIDs(for notes: [Note]) -> [String: String] { // ordered setup omitted; assignment loop is unchanged for note in ordered { var candidate = BorisIdentity.sanitizedEntityID(from: NoteIdentity.droppingLanguageExtension(note.id)) if candidate.isEmpty { candidate = "untitled" } if taken.contains(candidate) { var number = 2 while taken.contains("\(candidate)-\(number)") { number += 1 } candidate = "\(candidate)-\(number)" } assigned[note.id] = candidate taken.insert(candidate) } } # input calculation: a 256-byte ASCII stem remains 256 bytes after sanitization. # observed code path: entityIDs stores that candidate without calling isValid, truncating it, or rejecting it. ### staged path // Sources/BANALPublisher/BorisAdapter.swift:55-59 public static func sourceRelativePath(for note: Note, entityID: String) -> String { "\(entityID).\(note.language.pathExtension)" } // Sources/BANALPublisher/BorisAdapter.swift:160-163 for page in pages where page.language == .markdown { let destination = content.appendingPathComponent(page.relativePath) try fileManager.createDirectory(at: destination.deletingLastPathComponent(), withIntermediateDirectories: true) try Data(page.source.utf8).write(to: destination, options: .atomic) } # final result: REV-1 failed. The explicit 255-byte Boris validator is bypassed at entity assignment; the resulting 256-byte ID is then used for the generated frontmatter identity and staged Markdown filename.