Failed work can return as a reviewable draft.
Rangabot 1.2.0 adds user-triggered failed-turn recovery, stronger project and dataset binding, revisioned local dataset context, Profiles v1 candidate workspaces, and the restored transparent assistant chat mark.
Goal preserved
Recovery restores the exact stored request, mode and reply receipt only after conversation, history, project, dataset and code bindings revalidate. Failed partial output is excluded.
Nothing automatic
The recovered request returns to the composer for review. Rangabot does not rerun the model, reopen private context or press Send on the user's behalf.
Local context stays bound
Dataset descriptions, aliases and confirmed joins use revisioned local storage. Concurrent windows and changed resources fail closed instead of silently changing the request's meaning.
Evidence and release boundary
Independent source-level recovery acceptance passed 24/24 cases. A separate binding harness moved from 0/5 protected cases on the merged base to 5/5 on the release source. The deterministic repository release gate also passed.
These are source checks, not model-quality, signed-package, TestFlight, Store, clean-install or public-binary evidence. The 23 August Mac 0.1.0 submission and earlier Light artifacts are historical candidates, not 1.2.0 binaries.
