Repository navigation
TinyAgent Alpha 6 — Model Back and dnfast initial recovery
Pre-release최초 준비 오류 수정: alpha.6은 Fedora
usr/bin=0555에서 dnfast 파일 이동이AccessDeniedException으로 실패할 수 있습니다. alpha.7로 업데이트한 뒤 환경 준비 다시 시도를 누르세요. 앱 삭제나 데이터 초기화는 필요하지 않습니다. 아래는 alpha.6 게시 당시 기록입니다.
TinyAgent 0.0.1 Alpha 6
모델 관리에서 Android 뒤로가기를 누르면 대화상자를 닫고 기존 세션으로 돌아오도록
수정했습니다. 공급자 연결 화면을 거칠 필요가 없습니다. 중단된 dnfast 최초 설치의
알려진 부분 파일을 안전하게 복구하는 수정도 포함한 Android ARM64 프리릴리스입니다.
설치 파일
- 파일:
TinyAgent-0.0.1-alpha.6-android-arm64.apk - 패키지:
io.github.gplaider.tinyagent - 버전:
0.0.1-alpha.6, versionCode10 - 지원: Android 11 이상, minSdk 30, targetSdk 36,
arm64-v8a - 크기:
145274139bytes - SHA-256:
83f980ca7be19164093b49d50addb7b18135ffd65611d1248539df29a05414fc - 서명 인증서 SHA-256:
c34483dc3b7228cede2e128ccd66cab193e78804686a58ea25ba318568afc9d2
기존 생산 패키지에 같은 인증서로 업데이트할 수 있습니다. 앱 삭제나 데이터 초기화는
필요하지 않습니다. .debug/.preview 패키지는 별도 앱입니다.
변경 내용
- 뒤로가기의 버튼 검색을 가장 위에 열린 대화상자 내부로 제한합니다. 닫기 버튼이 없는
모델 관리는 GUI의 기존 Escape 처리로 닫아 뒤쪽 세션이나 방문 기록으로 이동하지 않습니다. - 키보드가 열려 있으면 첫 뒤로가기로 키보드만 닫는 동작을 유지합니다.
- dnfast root ID·상태가 없는 최초 설치에서, 고정 payload와 일치하는 부분 파일만 복구합니다.
33개 파일을 staging에서 검증하고 모든 목적지를 확인한 뒤 라이브러리부터 atomic move와
파일·부모 디렉터리 fsync로 게시합니다. 알 수 없는 파일·심볼릭 링크·기존 root는 보존하고 거부합니다. - 기존 root에서 dnfast 실행 파일이 없을 때 overlay를 덮어쓰던 경로를 거부하여 복구 증거를 보존합니다.
dnfast 바이너리는 1449710f35e1079c5999a3d6cc41800d4b432a4d 고정 버전을 유지합니다.
파일 첨부·작업 폴더 탐색 기능과 GUI 자산은 alpha.5와 같습니다.
검증과 근거
최종 APK의 빌드·기기 검증 결과는 evidence/release-alpha6.json에 기록합니다.
앞선 뒤로가기 후보 APK와 비교하면 ZIP 내부 변경은 AndroidManifest.xml뿐이며,
DEX·GUI·runtime·native 파일 바이트는 같습니다.
- Spacewar(Nothing Phone 1 A063)·Pacman(Nothing Phone 2a A142), Android 16에 최종 APK를
adb install -r로 설치했습니다. 앱 UID·최초 설치 시각을 유지하고 설치 APK 해시 일치를 확인했습니다. - 각 기기에서 3회 연속 모델 관리 → 키보드 닫기 → 뒤로가기 → 같은 세션 복귀를 확인했습니다.
Pacman 2회차는 가장자리 제스처로 실행했습니다. 공급자 연결 화면의 뒤로가기도 통과했습니다. - 임시 무효 테스트 연결을 제거하고 무료 모델 선택·기존 Big Pickle·같은 세션 복귀를 확인했습니다.
설정의 공급자·모델 상세 뒤로가기와 설정 닫기도 통과했습니다. 실제 API 키나 모델 요청은 사용하지
않았습니다. 각 앱의 현재 PID 최근 로그에서 fatal/JavaScript 오류 패턴 일치는 0개였습니다. - clean
assembleRelease·lintRelease통과: 오류 0, 경고 59. - 생산 v2 서명, 16 KiB ZIP 정렬, GUI 952개·압축 runtime 2개 및 native·harness·license 검사 통과.
- 최초 설치 복구는 Windows 36개와 Linux 비특권 UID 65534의 36개 검사를 통과했습니다.
15개 동기화 실패 지점, 심볼릭 링크 3개, 보존·재시도를 포함합니다. - Spacewar·Pacman의 별도 debug 앱과 disposable root에서 4바이트 CLI·Python 없음 상태를
만들고 33개 파일 복구를 확인했습니다. 운영 root를 초기화하거나 RPM을 실행한 검사는 아닙니다. - 고정 dnfast 본체를 Fedora 44 x86_64에서 조사하여 workspace 494개와 별도 mount/ENOSPC
2개를 통과했습니다. 추가로 binding 16조합과 실제 RPM 작업 후 SIGKILL 복구 3개를 확인했습니다.
자세한 조건과 제외 항목은docs/DNFAST-AUDIT-20260915.md에 있습니다.
위 dnfast 검사는 이전 작업에서 수행한 것으로, alpha.6 생산 APK의 ARM 전체 RPM 거래
검증을 뜻하지 않습니다. 원본 증거의 APK 해시와 시험 환경을 보존했습니다.
알려진 범위
- APK 교체 뒤 미완료 거래를 이전의 정확한 실행환경으로 복구하는 사용자 동선,
ARM 공개 apply 전체 거래, 실제 Fedora metadata, generation 메모리 및 ARM authenticated
memfd 검증은 남아 있습니다. 실행환경 불일치 거부를 제거하지 않았습니다. - dnfast와 dnf5의 동일 APK·RPM·root·cache·네트워크 조건 성능 비교는 완료하지 않았습니다.
- 기존 alpha.5에서 잘못된 세션 목록 이동은 실제 재현했고, 사용자가 보고한 native 초기 설정
화면 자체는 당시 방문 기록 조건에서 재현하지 못했습니다. 해당 fallback은 소스에서 확인했습니다. - 이번 릴리스는 변경된 동선의 검증이며 전체 7개 journey × 3회 정식 gate 통과를 주장하지 않습니다.
신규 설치 반복·운영 root 초기화·모든 공급자 인증과 모델 응답을 다시 시험하지 않았습니다.
첨부한 소스 ZIP의 SOURCE-SNAPSHOT.json은 Git export 파일 바이트와 APK 해시를 연결합니다.
APK는 작업 트리에서 clean task로 빌드한 뒤 고정했고, 이후 문서·검증 기록만 추가했습니다.
clean checkout에서의 재현 빌드 검증은 아닙니다. GUI는 기존에 검증한 공개 alpha.3 APK의
952개 자산을 재사용하며 관련 소스 기준은 snapshot에 명시했습니다.