diff --git a/changelog.mdx b/changelog.mdx
index dc5a9df..45e3ab0 100644
--- a/changelog.mdx
+++ b/changelog.mdx
@@ -22,6 +22,26 @@ export const STAGE_SELF_MANAGED_M66 = "$0.0001";
agentsfleet is in **stealth-mode testing** and pre-production. APIs and agent behavior may change between releases without long deprecation windows. Email [agentsfleet@agentmail.to](mailto:agentsfleet@agentmail.to) if you want a hand calibrating an agent or to join as a design partner.
+
+ ## Fleet detail becomes the operating console
+
+ Fleet detail now puts source editing, live steering, memory, run cost, and lifecycle controls on one page.
+
+ ## What's new
+
+ - **Source editing** — read and edit `SKILL.md` or `TRIGGER.md` from the dashboard. A save takes effect on the next wake and keeps the fleet's memory. If someone else saves first, the editor reloads their change instead of overwriting it.
+ - **Memory correction** — inspect learned entries and forget one incorrect entry from the dashboard. Deleting the fleet still deletes all its memory; editing its source does not.
+ - **Run cost** — each event can show tokens, wall time, and settled cost. The recent rollup covers the latest 200 events within seven days and labels that bound; lifetime spend remains visible separately.
+ - **Faster fleet lists** — lifetime event and spend counters are maintained when activity is written, so list reads no longer re-sum the full event history.
+
+ ## API reference
+
+ - **Fleet detail** — `GET /v1/workspaces/{workspace_id}/fleets/{fleet_id}` returns source, triggers, lifecycle state, lifetime counters, and an `ETag` header.
+ - **Event cost** — fleet event rows now include nullable `cost_nanos`, sourced from settled billing telemetry.
+ - **Memory forget** — `DELETE /v1/workspaces/{workspace_id}/fleets/{fleet_id}/memories/{key}` requires `fleet:write`, returns `204` when deleted, and returns `UZ-MEM-004` when the key is absent.
+ - **Stale-write protection** — fleet source and platform library PATCH requests may send `If-Match`. A stale fleet edit returns `UZ-AGT-014`; a stale catalog edit returns `UZ-CATALOG-005`. Both responses use `412` and include the current `ETag`.
+
+
## The fleet catalog stops overstating itself, and operators can fix a mistyped repository in place
diff --git a/fleets/library.mdx b/fleets/library.mdx
index c0ab677..fc9d0cd 100644
--- a/fleets/library.mdx
+++ b/fleets/library.mdx
@@ -3,7 +3,7 @@ title: Fleet library
description: Understand platform and workspace library entries.
type: explanation
audience: user
-verified: 2026-07-12
+verified: 2026-07-16
product_version: 0.17.0
executable: false
---
@@ -60,6 +60,8 @@ A rename survives the next bundle fetch, as the description and credential copy
An entry that is published but holds no bundle shows as **Broken** in the catalog. It is invisible to every workspace; fetch a bundle or unpublish it.
+The dashboard protects edits with the row version loaded by the form. If another operator saves first, your stale edit is refused. Refresh the row, review the newer values, and apply your change again.
+
## Prebuilt fleets
Four fleets ship as platform entries. Each is a public repository under `agentsfleet`, and each installs by its identifier.
diff --git a/fleets/overview.mdx b/fleets/overview.mdx
index a5a0e81..e7fd720 100644
--- a/fleets/overview.mdx
+++ b/fleets/overview.mdx
@@ -3,7 +3,7 @@ title: Fleet overview
description: Understand what a fleet owns and how its lifecycle works.
type: explanation
audience: user
-verified: 2026-07-12
+verified: 2026-07-16
product_version: 0.17.0
executable: false
---
@@ -31,6 +31,10 @@ A fleet keeps repeated event work in one place. The workspace controls access wh
Installing a library entry creates the fleet. The active workspace owns it, and authorized workspace members control it.
+The fleet detail page shows source, live activity, memory, approvals, run metrics, and recent cost together. You can edit `SKILL.md` or `TRIGGER.md` there. A save takes effect on the next wake and keeps the same fleet identifier and memory.
+
+If another operator saves first, your stale source edit is refused. The editor reloads the current source so you can review the newer version and apply your change again.
+
Stopping a fleet lets the current run finish. Killing a fleet keeps its records but blocks all later work.
Deleting a killed fleet removes all fleet records. A replacement fleet receives a new identifier and new webhook URLs.
@@ -39,6 +43,8 @@ Deleting a killed fleet removes all fleet records. A replacement fleet receives
The fleet can use only declared tools, secrets, and network hosts. Daily or monthly budgets can block new work.
+The recent cost rollup covers the latest 200 events within seven days. The page labels this bound and shows lifetime spend separately.
+
The service validates `SKILL.md` and `TRIGGER.md` during installation and updates. Invalid files do not replace the active fleet settings.
## Related pages
diff --git a/memory.mdx b/memory.mdx
index 5c0570d..e794e6d 100644
--- a/memory.mdx
+++ b/memory.mdx
@@ -3,7 +3,7 @@ title: Memory
description: Learn what a fleet can remember between events.
type: explanation
audience: user
-verified: 2026-07-12
+verified: 2026-07-16
product_version: 0.17.0
executable: false
---
@@ -14,7 +14,7 @@ executable: false
Memory stores short facts for one fleet. A later run can recall those facts by key or text.
-The fleet creates, owns, updates, and removes its memory entries. Workspace members can inspect entries through the client or API.
+The fleet creates, owns, updates, and removes its memory entries. Workspace members can inspect and forget entries through the dashboard or API.
## Why it exists
@@ -33,6 +33,10 @@ Memory lets a fleet keep useful conclusions between events. Store conclusions in
`memory_list` filters entries. `memory_forget` deletes one key.
+The dashboard's fleet detail page lists each entry's content, category, and update time. Forgetting an entry requires fleet write access.
+
+The API route is `DELETE /v1/workspaces/{workspace_id}/fleets/{fleet_id}/memories/{key}`. It returns `204` after deletion and `UZ-MEM-004` when the key is absent.
+
`` comes from `agentsfleet list`.
```bash