# WebCode source presentation and target classification
`present_create` and `present_open` expose every authored file in lexicographic path order. Each file is one complete named Tool Message titled `File: <path>`; files are not chunked. Valid UTF-8 bytes are preserved exactly. A non-UTF-8 file is represented only by:
`this file is a non-text object and cannot be modified`
`SourceLayout` records each file message’s originating Tool Call box, ToolCallId, one-based message index, exact path, UTF-8 status, and whether that binding is still the current file target. Every recorded message remains a workspace anchor for the active Create/Open generation. `classify_anchor` accepts any such correlated message. `classify_file_target` additionally requires the binding to remain current and returns its exact path and text status.
Successful `CreateFile` and `RenameFile` transitions add the operation’s one named file message to the active layout. Rename and Delete retire the old binding from file-target use without removing its workspace-anchor role. Overwrite does not change layout identity.
Missing, duplicate, malformed, foreign, out-of-layout, and retired file targets fail with stable `TargetRejection` values. The package performs no history I/O, box allocation, authority checks, persistence, mutation, checking, publication, or chunking. Presentation and classification are linear in the supplied document, layout, or history.