diff --git a/.claude/skills/docs/watermark b/.claude/skills/docs/watermark
index 1ae708c15..d53478fe8 100644
--- a/.claude/skills/docs/watermark
+++ b/.claude/skills/docs/watermark
@@ -1 +1 @@
-462f6982a8a78dbd63f1af24ce70401db6c2dd21
+b374427d952d0f90a051a77be531647a103301996
diff --git a/docs/public/agents/tools.mdx b/docs/public/agents/tools.mdx
index 866e2585a..e317673b6 100644
--- a/docs/public/agents/tools.mdx
+++ b/docs/public/agents/tools.mdx
@@ -32,7 +32,7 @@ Some tools are only available with certain LLM providers:
| `edit_file` | Anthropic, Gemini | Replace a string in a file (find-and-replace) |
| `apply_patch` | OpenAI | Apply a v4a-format patch to modify files |
| `update_plan` | OpenAI | Maintain a multi-step plan for the current task |
-| `TaskCreate`, `TaskUpdate`, `TaskList` | Anthropic | Maintain a shared task list for the root agent session |
+| `TaskCreate`, `TaskUpdate`, `TaskGet`, `TaskList` | Anthropic | Maintain a shared task list for the root agent session |
| `read_many_files` | Gemini | Read multiple files in a single call |
| `list_dir` | Gemini | List directory contents with depth control |
@@ -188,14 +188,16 @@ Maintains the current task plan. Available for OpenAI providers.
The submitted list replaces the current plan for that OpenAI session. Fabro reconciles steps by exact step text, emits `todo.created`, `todo.updated`, and `todo.deleted` events for changes, and projects the current list into run state.
-### TaskCreate, TaskUpdate, and TaskList
+### TaskCreate, TaskUpdate, TaskGet, and TaskList
Maintains a shared task list for Anthropic providers. The list is scoped to the root agent session, so sub-agents share the same task projection.
-`TaskCreate` creates a task with `subject`, `description`, optional `activeForm`, and optional metadata. `TaskUpdate` changes an existing task by `taskId`; setting `status` to `deleted` removes it from the projection. `TaskList` returns the current shared task list.
+`TaskCreate` creates a task with `subject`, `description`, optional `activeForm`, and optional metadata. `TaskUpdate` changes an existing task by `taskId`; setting `status` to `deleted` removes it from the projection. `TaskGet` returns full details for one task, while `TaskList` returns the current shared task list.
Like `update_plan`, task changes are persisted as `todo.created`, `todo.updated`, and `todo.deleted` events and replay into run state.
+When an Anthropic session has not used `TaskCreate` or `TaskUpdate` for ten assistant turns, Fabro may inject a system reminder asking the agent to keep task state current. The reminder is only added when both tools are available and resets after the agent uses either tool.
+
## Read-before-write guardrail
Fabro wraps every sandbox in a `ReadBeforeWriteSandbox` decorator that tracks which files the agent has seen. The rules are:
diff --git a/docs/public/core-concepts/models.mdx b/docs/public/core-concepts/models.mdx
index f545ff073..c92d89824 100644
--- a/docs/public/core-concepts/models.mdx
+++ b/docs/public/core-concepts/models.mdx
@@ -18,8 +18,8 @@ No single model is best at everything. Fabro lets you assign the right model to
| `claude-sonnet-4-6` | anthropic | `sonnet`, `claude-sonnet` | 200K | $3.00 / $15.00 | 50 tok/s |
| `claude-sonnet-4-5` | anthropic | | 200K | $3.00 / $15.00 | 50 tok/s |
| `claude-haiku-4-5` | anthropic | `haiku`, `claude-haiku` | 200K | $0.80 / $4.00 | 100 tok/s |
-| `gpt-5.2` | openai | `gpt5` | 1M | $1.80 / $14.00 | 65 tok/s |
-| `gpt-5.3-codex` | openai | `codex` | 1M | $1.80 / $14.00 | 100 tok/s |
+| `gpt-5.2` | openai | `gpt5` | 1M | $1.75 / $14.00 | 65 tok/s |
+| `gpt-5.3-codex` | openai | `codex` | 1M | $1.75 / $14.00 | 100 tok/s |
| `gpt-5.3-codex-spark` | openai | `codex-spark` | 128K | n/a | 1000 tok/s |
| `gpt-5.4` | openai | `gpt54` | 1M | $2.50 / $15.00 | 70 tok/s |
| `gpt-5.5` | openai | `gpt55` | 1M | $5.00 / $30.00 | 70 tok/s |
@@ -29,11 +29,11 @@ No single model is best at everything. Fabro lets you assign the right model to
| `gemini-3.1-pro-preview` | gemini | `gemini-pro` | 1M | $2.00 / $12.00 | 85 tok/s |
| `gemini-3.1-pro-preview-customtools` | gemini | `gemini-customtools` | 1M | $2.00 / $12.00 | 85 tok/s |
| `gemini-3-flash-preview` | gemini | `gemini-flash` | 1M | $0.50 / $3.00 | 150 tok/s |
-| `gemini-3.1-flash-lite-preview` | gemini | `gemini-flash-lite` | 1M | $0.20 / $1.50 | 200 tok/s |
+| `gemini-3.1-flash-lite-preview` | gemini | `gemini-flash-lite` | 1M | $0.25 / $1.50 | 200 tok/s |
| `kimi-k2.5` | kimi | `kimi` | 262K | $0.60 / $3.00 | 50 tok/s |
| `glm-4.7` | zai | `glm`, `glm4` | 203K | $0.60 / $2.20 | 100 tok/s |
| `minimax-m2.5` | minimax | `minimax` | 197K | $0.30 / $1.20 | 45 tok/s |
-| `mercury-2` | inception | `mercury` | 131K | $0.20 / $0.80 | 1000 tok/s |
+| `mercury-2` | inception | `mercury` | 131K | $0.25 / $0.75 | 1000 tok/s |
Each provider requires its own API key set via environment variable or matching vault token (e.g. `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`). See the [Quick Start](/getting-started/quick-start) for setup.
@@ -147,8 +147,8 @@ When no model or provider is specified, Fabro checks configured provider credent
| Provider | Default model |
|---|---|
-| `anthropic` | `claude-opus-4-7` |
-| `openai` | `gpt-5.5` |
+| `anthropic` | `claude-sonnet-4-6` |
+| `openai` | `gpt-5.4` |
| `gemini` | `gemini-3.1-pro-preview` |
| `kimi` | `kimi-k2.5` |
| `zai` | `glm-4.7` |
diff --git a/docs/public/execution/observability.mdx b/docs/public/execution/observability.mdx
index 04f3b3117..5cceeaeae 100644
--- a/docs/public/execution/observability.mdx
+++ b/docs/public/execution/observability.mdx
@@ -115,7 +115,7 @@ When running workflows through the API server, subscribe to the [run events endp
### Web UI
-The web frontend consumes the SSE stream automatically and shows stage progress, tool calls, command output, and human interaction as they happen. Use the stage `Thread` and `Debug` views for per-stage activity, or the run-level `Run Events` page when you need the full event stream with search and category filters.
+The web frontend consumes the SSE stream automatically and shows stage progress, tool calls, command output, and human interaction as they happen. Use the stage `Thread` and `Debug` views for per-stage activity, or the run-level `Run Events` page when you need the full event stream with search and category filters. The `Run Events` page also includes a Waterfall view for comparing stage durations and inspecting timing details from hover popovers.