# TASK-006: Browse trees and source code by ref Status: planned — depends on TASK-005 and TASK-006A Owner: Claude Reviewer: Codex ## Outcome A user can navigate directories and view source files at an explicit branch, tag, or commit without silently changing refs. ## Writable paths - `app/src/main/java/com/ubisam/ubgitea/feature/codebrowser/` - `app/src/test/java/com/ubisam/ubgitea/feature/codebrowser/` - `app/src/main/res/values/strings_codebrowser.xml` - TASK-006 evidence only Shared domain, data, Gradle, manifest, and navigation changes must be requested from Codex instead of edited by Claude. ## Acceptance criteria - [ ] Repository, selected ref, and current path remain visible. - [ ] Directory navigation is deterministic and safely handles encoded names. - [ ] Text files render with bounded memory use and copy support. - [ ] Binary, Git LFS, submodule, unsupported encoding, and oversized-file states have explicit fallbacks. - [ ] Loading, empty, offline, authentication-expired, not-found, and server-error states are localized and accessible. - [ ] Tests cover ref preservation, path navigation, content classification, and size limits. - [ ] Resource names use the `codebrowser_` prefix. - [ ] Evidence records the exact reviewed TASK-005 contract-freeze commit.