Major changes:
- **Bedrock translator architecture**: Extract orchestration logic from `impl.rs` into
a dedicated `translator.rs` module. Rename `convert_request.rs` → `request_translator.rs`
and `stream.rs` → `response_translator.rs` for clarity. Remove `tool_docs.rs` (inlined).
Remove `fallback_to_warp` setting and server fallback path — Bedrock is now the sole backend.
- **Unknown tool handling**: The response translator now detects hallucinated/unknown tool
calls from the model and synthesizes error tool_results so the conversation doesn't
deadlock waiting for a result that will never come.
- **Usage display overhaul**: Replace credit-based usage display with detailed token metrics
showing context window %, cache hit rate (read/write/miss), and estimated cost in dollars.
Add `total_input_tokens`, `total_cache_read_tokens`, `total_cache_write_tokens`, and
`cache_miss_tokens` accessors to `AIConversation`.
- **Predefined rules system**: Add `predefined_rules.rs` with 11 system-defined behavioral
rules that are auto-seeded on first launch. Add "Add Predefined Rules" button to the
Rules UI for re-adding them later. Track seeding state via `has_seeded_predefined_rules`
setting.
- **Session restore improvements**: Rename database file from `warp.sqlite` to
`galaxy.sqlite` with automatic migration from both same-directory and state_dir legacy
paths. Improve CWD persistence by falling back to `session_startup_path` for agent-mode
and fresh tabs. Add extensive session-save/restore logging.
- **Shell bootstrap rebrand**: Rename `WARP_INITIAL_WORKING_DIR` environment variable to
`GALAXY_INITIAL_WORKING_DIR` across bash, zsh, and fish bootstrap scripts.
- **Model defaults**: Change default Bedrock model from Opus 4.7 to Opus 4.6.
Add `context_window_for_model()` helper with model-aware context sizes.
Remove `is_bedrock_model()` (no longer needed without server fallback).
- **User query persistence**: The response translator now emits a `UserQuery` proto message
at stream start so the user's prompt persists across sessions for conversation titles.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previously, Bedrock error snapshots were unconditionally written to disk
on any API or stream failure. Now they are only written when
GALAXY_BEDROCK_DIAGNOSTICS=1 is set, consistent with the rest of the
diagnostic logging.
Bumps version to 1.2.1.