# Verification record — `ts3-manual-research` ## Result PASS. The TeamSpeak development manual at `docs/ts3_development_manual_en_v6.md` was read and the relevant protocol guidance was extracted into concrete conclusions that were then exercised by the executable TeamSpeak PoCs in `poc/`. ## Source document - `docs/ts3_development_manual_en_v6.md` ## Key extracted findings ### 1. File download path The manual states that TeamSpeak file transfer is a two-phase flow: 1. send `ftinitdownload` on the control channel; 2. receive transfer token, host, and port; 3. open a second TCP connection and exchange raw bytes. This directly informed `poc/tsclientlib-filetransfer-spike`. ### 2. User-profile variable surfaces The manual identifies the client fields and lookup surfaces relevant to this task: - `client_unique_identifier` - `client_database_id` - `client_nickname` - `client_version` - `client_platform` - avatar-related fields This directly informed `poc/tsclientlib-query-spike`. ### 3. Identity import/export compatibility The manual describes TeamSpeak identity material as keypair + counter/security data and explicitly recommends keeping import/export compatible with the official client format where possible. This directly informed `poc/tsidentity-import-spike`. ## Cross-check against runnable PoCs | Manual finding | Runnable PoC | Verification status | |---|---|---| | `ftinitdownload` bootstraps a second TCP transfer | `poc/tsclientlib-filetransfer-spike` | PASS | | Client UID / DBID / profile / connection data can be surfaced from client protocol state | `poc/tsclientlib-query-spike` | PASS | | Official-style identity export can be parsed, round-tripped, and reused for connect | `poc/tsidentity-import-spike` | PASS | ## Conclusion The manual-reading requirement is satisfied with a concrete repo artifact and its extracted protocol guidance is reflected in the corresponding executable PoCs.