# loudink-v1 Flowcast client contract (PR13) External dependency: Flowcast/GemmaFlow client must support dual packages before canary traffic. ## Package selection | Field | Type | Description | |-------|------|-------------| | `model_package` | enum | `v5_lite` (default production) \| `loudink_v1` | | `kill_switch` | bool | Force `v5_lite` regardless of remote config | ## Manifest fields the client must read From `artifacts/manifests/loudink_v1.json` / published `manifest.json`: - `runner_kind`: `loudink_v1` - `writer_model_config` / adapter paths / `writer_chat_template_family` - `ir_model_config` / adapter paths / `ir_chat_template_family` - `polish_mode` (default `minimal`) - `structural_polish_on_markers` - `learned_router_path` - `transcript_first_ir`, `intent_fast_path` (production true) - `hot_download_mb_primary` / `hot_download_mb_hard` ## Telemetry (optional but recommended) | Event field | Description | |-------------|-------------| | `finish_reason` | Include polish/IR/intent tags | | `neural_text_present` | bool — whether raw draft was produced | | `polish_mode` | effective mode after markers | | `package_version` | loudink-v1 semver | | `latency_ms` | e2e | | `model_invoked` | false when transcript polish/IR/intent FP skipped models | ## Rollback 1. Set `model_package=v5_lite` or `kill_switch=true`. 2. Client must keep last-known-good v5-lite package on disk for offline rollback. 3. Training repo does not own client release; this file is the interface contract. ## Canary traffic gate Do **not** route production users to loudink-v1 until: 1. `gate_loudink_v1 --tier canary --gate-mode enforce` is green 2. Client dual-package flag is shipped 3. Package SHA256SUMS verified