69 Commits

Author SHA1 Message Date
93b8d587ee Sort repositories by recent push, page the list, show last-pushed branch
TASK-017, human product owner priority-1 request. Repository list now
requests sort=updated&order=desc from Gitea, loads 5 repositories per
page with explicit prev/next navigation, and each visible row
independently fetches and shows its most recently committed branch.

Removes the legacy eager-loading RepositoryListApi in favor of the
existing paged GiteaRepositoryBrowser.listRepositories. Fixes two
issues found in self-review: missing error handling on page
navigation, and repositories with no default branch (empty repos)
previously failing the whole page instead of just that row.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-26 13:24:31 +09:00
fdda16442a Review and freeze TASK-004/005/006; fix 409/422 typed failures
Independent read-only review of 8a47d30/bbbff77/16c46a5 per
handoff/claude-master-handoff.md's review-and-freeze step. Verified
build/test/lint independently rather than trusting recorded evidence.

Fixed P2: requireSuccess() collapsed HTTP 409/422 into the generic
InvalidResponse, which would have blocked TASK-007's planned
conflict/unprocessable error states. Added ApiFailure.Conflict and
ApiFailure.Unprocessable with test coverage.

Recorded a P3 (CPU-bound work on the Main dispatcher in
CodeBrowserViewModel) for TASK-016 rather than fixing it now. Closed
TASK-005/006's mutual contract-freeze checkboxes. No P0/P1 found.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-26 12:54:46 +09:00
16c46a5c54 feat: browse repository source by ref 2026-08-26 10:35:20 +09:00
bbbff77a5e feat: browse repository branches and tags 2026-08-26 10:24:19 +09:00
8a47d30ab5 feat: add read-only repository browsing API 2026-08-26 10:13:22 +09:00
ed2121be76 fix: preserve Unicode boundaries in source preview 2026-08-26 09:54:02 +09:00
4f5faf373a Implement TASK-006A source content classifier
Pure-Kotlin classifier for feature/codebrowser/content/ that turns
already-loaded SourceContent bytes into bounded text, binary, Git LFS
pointer, unsupported-encoding, or oversized results with caller-supplied
positive byte/character/line limits, per handoff/task-006a-ready.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-26 09:48:39 +09:00
965d55d760 docs: activate Claude TASK-006A handoff 2026-08-25 23:29:20 +09:00
57d1c090b1 docs: add Codex Claude handoff workspace 2026-08-25 23:27:21 +09:00
fc9d78a2d6 docs: record repository login E2E verification 2026-08-25 23:22:30 +09:00
a4451e9d16 feat: add Gitea login and repository list 2026-08-25 23:21:47 +09:00
fd052654cf Record TASK-002A development handoff 2026-08-25 22:13:36 +09:00
6da016cf7b Implement OAuth PKCE protocol core 2026-08-25 22:13:23 +09:00
177786ef11 Adopt serial agent handoff workflow 2026-08-25 22:04:29 +09:00
29faab8a97 Assign code content classifier to Claude 2026-08-25 22:02:37 +09:00
09292823e4 Define Codex and Claude workstreams 2026-08-25 21:57:53 +09:00
a2cc7d4ca3 Add repository browsing domain foundation 2026-08-25 21:52:40 +09:00
75aa5f83e5 Bootstrap Android Compose application 2026-08-25 21:42:50 +09:00
dd9a70839c chore: initialize UBGitea engineering harness 2026-08-25 21:18:26 +09:00