Skip to content

Commit 68c832b

Browse files
authored
Merge pull request #271 from flashcatcloud/doc-review/2026-08-14-061500
Doc Review — 2026-08-14
2 parents e8780a3 + d6de06e commit 68c832b

61 files changed

Lines changed: 1082 additions & 92 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎docs.json‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1506,6 +1506,7 @@
15061506
"zh/on-call/incident/what-is-incident",
15071507
"zh/on-call/incident/search-view-incident",
15081508
"zh/on-call/incident/handle-update-incident",
1509+
"zh/on-call/incident/work-items",
15091510
"zh/on-call/incident/escalate-dispatch-incident",
15101511
"zh/on-call/incident/alert-management",
15111512
"zh/on-call/incident/custom-actions",
@@ -2855,6 +2856,7 @@
28552856
"en/on-call/incident/what-is-incident",
28562857
"en/on-call/incident/search-view-incident",
28572858
"en/on-call/incident/handle-update-incident",
2859+
"en/on-call/incident/work-items",
28582860
"en/on-call/incident/escalate-dispatch-incident",
28592861
"en/on-call/incident/alert-management",
28602862
"en/on-call/incident/custom-actions",

‎en/ai-sre/agents.mdx‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ On the A2A Agents list page, click **Add A2A Agent** and fill in the form:
7777
| Streaming | bool | on | Whether to communicate with the remote agent in streaming mode |
7878
| User Auth Mode | enum | `shared` | See "Auth Modes" below |
7979
| Skip TLS certificate verification | bool | off | Shown only when the Card URL uses HTTPS. Enable only when the remote endpoint uses a self-signed certificate inside a controlled network; this skips certificate-chain and hostname verification |
80-
| Allow OAuth discovery over HTTP | bool | off | Required only when "Per-user OAuth" is selected and the Card URL is a non-local HTTP URL. Use only in controlled test environments; after you enable it, the AI SRE service can fetch OAuth metadata from that host |
80+
| Allow fetching OAuth configuration over HTTP (testing only) | bool | off | Required only when "Per-user OAuth" is selected and the Card URL is a non-local HTTP URL. Use only in controlled test environments; after you enable it, the AI SRE service can fetch OAuth metadata from that host |
8181

8282
### Writing Instructions
8383

@@ -170,7 +170,7 @@ For security reasons, saved sensitive fields (such as `token`, `api_key`, and `c
170170
</Note>
171171

172172
<Warning>
173-
Use HTTPS for per-user OAuth discovery whenever possible. Enable "Allow OAuth discovery over HTTP" for a non-local HTTP Card URL only in controlled test environments. If an HTTPS endpoint uses a self-signed certificate, enable "Skip TLS certificate verification" only temporarily and only inside a trusted network.
173+
Use HTTPS for per-user OAuth discovery whenever possible. Enable "Allow fetching OAuth configuration over HTTP (testing only)" for a non-local HTTP Card URL only in controlled test environments. If an HTTPS endpoint uses a self-signed certificate, enable "Skip TLS certificate verification" only temporarily and only inside a trusted network.
174174
</Warning>
175175

176176
## Inbound: Letting External Agents Call AI SRE
@@ -240,7 +240,7 @@ A2A agents share the same **two-level scope** model as other resources (skills,
240240
| Account level | Visible to all members in the account |
241241
| Team level | Visible only to members of that team |
242242

243-
**Edit permissions**: the account owner or account admin can edit any agent; team members can edit team-level agents **in their own team**; there is no creator-retains-rights exception. When you do not have edit permission, the corresponding row in the list is **read-only**.
243+
**Edit permissions**: team-level agents can be acted on only by members of that team — organization admins must join the team first; account-level agents can be acted on only by the account owner or account admin; there is no creator-retains-rights exception. When you do not have edit permission, the corresponding row in the list is **read-only**.
244244

245245
**Create and reassign**: to create a new team-level agent, you must belong to the target team; account-level creation is limited to the account owner or admins. When editing an existing agent, the account owner or admins can move it to any team to recover resources left behind by empty teams or departed members; regular members can move it only to teams they belong to.
246246

‎en/ai-sre/apps.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ A Kubernetes App connects an in-cluster agent to AI SRE. After installation, AI
5050
Go to **Plugins → Apps → Kubernetes Apps** and click **Create Kubernetes App**. Enter a cluster name and choose its scope: **Shared** is available to all sessions in the account; **Team** is available to that team's sessions and to personal sessions of its members. Cluster names must be unique within a scope.
5151
</Step>
5252
<Step title="Set namespace access">
53-
Choose **All namespaces** or **Specific namespaces**. All namespaces applies one permission level to current and future namespaces. With specific namespaces, set **Read-only** or **Read + limited modifications** for each namespace. Leaving the specific-namespace list empty allows the agent to read only basic cluster metadata.
53+
Choose **All namespaces** or **Specific namespaces**. All namespaces applies one permission level to current and future namespaces. With specific namespaces, set **Read-only**, **Read + limited modifications**, or **Full access** for each namespace. Leaving the specific-namespace list empty allows the agent to read only basic cluster metadata. **Full access** means unrestricted cluster administrator access: on a specific namespace it applies only inside that namespace (cluster metadata stays read-only), while **All namespaces + Full access** grants `cluster-admin` via a `ClusterRoleBinding`, including cluster-scoped resources and cluster RBAC (available only with All namespaces). Open **View Kubernetes RBAC details** in the form to see exactly what each level allows.
5454
</Step>
5555
<Step title="Run the installation command">
5656
Save the App, copy the generated installation command, and run it in the target cluster. Installation commands expire; reopen the installation setup or view the manifest to generate a new command without rotating the token.
5757
</Step>
5858
</Steps>
5959

6060
<Warning>
61-
After changing namespace access or permissions, run the installation command again so the in-cluster RBAC is updated. Before choosing **Read + limited modifications**, confirm that AI SRE is allowed to perform those actions in the namespace.
61+
After changing namespace access or permissions, run the installation command again so the in-cluster RBAC is updated. Before choosing **Read + limited modifications**, confirm that AI SRE is allowed to perform those actions in the namespace. **Full access** is a high-risk option: on a specific namespace it lets this App read, create, modify, and delete every resource in that namespace; **All namespaces + Full access** escalates to cluster administrator access (`cluster-admin`), so choose it with care.
6262
</Warning>
6363

6464
### Edit and revoke

‎en/ai-sre/automations.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,13 +239,13 @@ Automation rules share the same two-level scope model as the other resources und
239239
|---|---|
240240
| Ownership | **Personal rules** (`team_id=0`) belong to their creator; **team rules** (`team_id>0`) belong to that team. To create a team rule, the rule Owner must be a real member of the target team; account Owners and admins have no exemption. You can change a rule's scope: personal rules can be moved to a team and team rules to another team — in both cases the rule Owner must belong to the destination team. However, a **team rule cannot be taken personal**: when editing a team rule, the scope selector no longer offers the "Personal" option (the backend rejects the conversion as well), and the rule stays with its team. If you need a personal copy, use the **Clone** button on the rule's detail page and pick the Personal scope in the prefilled create form before saving. Before every run, the system also checks that the Owner of a team rule still belongs to its team. |
241241
| Visibility / list | The account Owner and admins see all rules; ordinary members see rules they created and rules of teams they belong to. |
242-
| Edit / manage (team rules) | The account Owner and admins can manage any team rule; ordinary team members can manage rules of teams they belong to (enable / disable, edit, delete). |
242+
| Edit / manage (team rules) | Only members of the rule's owning team or its creator can act on the rule (enable / disable, edit, delete); the account Owner and admins have no exemption and must join the team first. |
243243
| Edit / manage (personal rules) | Only the creator can manage a personal rule. The account Owner and admins have **no** exemption for other members' personal rules — they cannot even view its detail page; opening one returns "access denied" outright, not just a grayed-out button. |
244244
| HTTP POST trigger | When initiating a real run through the trigger URL, authorization is only the trigger's Bearer Token. Any external system holding that Token can trigger the rule, and the run creates a hidden session under the rule's personal or team scope. |
245245
| On-call incident trigger | Started by a registered incident subscription, not by an HTTP POST Bearer token. The run still creates a hidden session under the rule's personal or team scope. |
246246

247247
<Note>
248-
The account Owner / admins can see other members' personal rules in the list (see "Visibility / list" above), but clicking into the detail page is denied — the "Edit / manage" exemption that applies to Owner / admins on team rules does not extend to personal rules.
248+
The account Owner / admins can see other members' personal rules in the list (see "Visibility / list" above), but clicking into the detail page is denied — the "Edit / manage" permission is not exempted for the Owner / admins on personal rules, just as it is not on team rules.
249249
</Note>
250250

251251
<Warning>

‎en/ai-sre/environments.mdx‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,15 @@ permission:
382382
Command permission is currently configured only through this file — there is no console UI for it yet.
383383
</Note>
384384

385+
### File-system boundary
386+
387+
Permission configuration governs **commands**; the agent's **file read/write tools** follow their own path semantics, matching `bash`:
388+
389+
- **Relative paths** are confined to the workspace root with symlink-escape protection — through a relative path the agent can only read and write files inside the workspace.
390+
- **Absolute paths** are passed through to the host filesystem by design, matching `bash`.
391+
392+
So the real file-access boundary is the **OS user** the Runner runs as, plus the deployment isolation (the systemd user and directory protections, or Docker mounts and container boundary) — not the permission configuration file.
393+
385394
## Selecting an environment in a session
386395

387396
---
@@ -413,8 +422,8 @@ Each BYOC Environment has account-level or team-level scope:
413422

414423
Edit permissions follow the unified rule:
415424

416-
1. Account owners and account admins can edit any Environment.
417-
2. Team members can edit team-scoped Environments for their team.
425+
1. Team-scoped Environments can be acted on only by members of that team — organization admins must join the team first.
426+
2. Account-scoped Environments (shared scope) can be acted on only by organization admins.
418427
3. There is no "creator extra permission"; you do not need to be the creator if the rules above allow the edit.
419428

420429
<Note>

‎en/ai-sre/insight.mdx‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ Friction cards ranked **from highest to lowest importance**, up to approximately
117117

118118
About **2–3** forward-looking, grounded suggestions. These are **strategic** (a shift in *how* you work with AI SRE, higher-leverage), distinct from the tactical, file-level fixes in the friction cards; each names the exact observation it's grounded in (a stat from the overview or a friction cluster) and maps to a real AI SRE capability.
119119

120+
When the report surfaces the `expensive-automation` emergent pattern — an automation-entry session that pulls raw listings into context and counts / groups / ranks them itself instead of scripting the aggregation — the next steps include a **Script-first automation rewrite**: ask the agent in chat to rewrite that automation's task prompt script-first, turning the deterministic collection and aggregation into an embedded, tested script.
121+
120122
<Note>
121123
Every friction and win must be grounded in at least one real session and carry a verbatim quote as evidence — the report never fabricates sessions, facts, or runbook gaps. If no rankable friction is found, the frictions part displays an empty-state message while the rest of the report still renders — in that case, "the overview itself is the report."
122124
</Note>

‎en/ai-sre/knowledge.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,11 @@ Every Knowledge Pack has a scope: account-level (visible across the entire accou
133133
| Dimension | Account-level | Team-level |
134134
| --- | --- | --- |
135135
| Visibility | All agents / sessions within the account | Sessions and members of that team only |
136-
| Edit permission | Account Owner or account admin | Members of that team, or Account Owner / admin |
136+
| Edit permission | Account Owner or account admin | Only members of that team — organization admins must join the team first |
137137
| Loaded in session | All sessions | Only sessions bound to that team |
138138
| Readable at runtime | Entire account | Entire account (mounting occurs on read) |
139139

140-
**Edit permissions**: the Account Owner or account admin can edit any Knowledge Pack; team members can edit their team's team-level pack; there is no "creator retains extra rights" rule. The console grays out rows the current user cannot edit, and disables toggles and action buttons when you lack edit permission.
140+
**Edit permissions**: team-level packs can be acted on only by members of that team — organization admins must join the team first; account-level packs can be acted on only by the Account Owner or admins; there is no "creator retains extra rights" rule. The console grays out rows the current user cannot edit, and disables toggles and action buttons when you lack edit permission.
141141

142142
**Create and reassign**: to create a new team-level pack, you must belong to the target team; account-level creation is limited to the Account Owner or admins. When editing an existing pack, the Account Owner or admins can move it to any team to recover resources left behind by empty teams or departed members; regular members can move it only to teams they belong to. Promoting an existing pack to account scope (**Set to Shared**) carries the same gate as creating an account-scope pack: only the Account Owner or admins can do it — a regular member cannot self-serve this even for their own team's pack.
143143

‎en/ai-sre/mcp.mdx‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ Each MCP server also has an **AI description**: after an agent first lists a ser
102102
**stdio is only available for BYOC environments** (Runner deployed on your own machine). Cloud Sandboxes cannot launch local subprocesses. If you are using a cloud environment, use **HTTP Streaming** or **SSE** instead, and ensure the MCP server is reachable from the Sandbox network. For differences between environments, see [Environments (BYOC)](/en/ai-sre/environments).
103103
</Warning>
104104

105+
<Note>
106+
stdio server commands run on the **machine where the Runner is deployed**, not on the machine of the person who configured them. Shared configuration must be portable: do not write personal machine paths into commands or arguments (e.g., `/Users/your-name/...`, `/home/your-name/...`), and make sure the executing environment has the runtime the command needs (`uv` / `uvx` / `node` / `npx`). A missing runtime makes the server fail to connect.
107+
</Note>
108+
105109
There is a default timeout for both connection and tool calls: 10 seconds for connection, 60 seconds for tool invocation.
106110

107111
<Warning>
@@ -114,7 +118,7 @@ MCP servers support three **authentication modes** that determine how credential
114118

115119
<Tabs>
116120
<Tab title="Shared (default)">
117-
All users share the same credentials. Credentials are written directly into the server configuration — for HTTP/SSE transport, in the **Headers** (JSON) (e.g., `{ "Authorization": "Bearer xxx" }`); for stdio transport, in the **environment variables** (JSON) (e.g., `{ "API_KEY": "xxx" }`). Suitable for internal systems accessed with account-level service tokens.
121+
All users share the same credentials. Credentials are written directly into the server configuration — for HTTP/SSE transport, in the **Headers** (JSON) (e.g., `{ "Authorization": "Bearer xxx" }`); for stdio transport, in the **environment variables** (JSON) (e.g., `{ "API_KEY": "xxx" }`). Suitable for internal systems accessed with account-level service tokens. Note that shared credentials are stored in **plaintext** in the server configuration (per-user keys are encrypted instead). For sensitive secrets, prefer "Per-User API Key" or "Per-User OAuth".
118122
</Tab>
119123
<Tab title="Per-User API Key">
120124
Each user provides their own key the **first time** they invoke a tool on this server. Keys are encrypted and stored at the account level, isolated per user.
@@ -201,7 +205,7 @@ MCP shares the same **two-level scope** model as other resources (Skills, Knowle
201205
| Account-level | Visible to all members of the account |
202206
| Team-level | Visible only to members of that team |
203207

204-
**Edit permissions**: Account owners or account admins can edit any MCP server; team members can edit team-level MCP servers that belong to **their team**. There is no creator-retains-rights exception. When you lack edit permission, the toggle and action buttons for that row appear as **read-only**.
208+
**Edit permissions**: team-level MCP servers can be acted on only by members of that team — organization admins must join the team first; account-level MCP servers can be acted on only by the account owner or admins. There is no creator-retains-rights exception. When you lack edit permission, the toggle and action buttons for that row appear as **read-only**.
205209

206210
**Create and reassign**: to create a new team-level MCP server, you must belong to the target team; account-level creation is limited to the account owner or admins. **Marketplace installs are the exception**: they are always account-scope, and any account member can install one (no owner/admin permission required). When editing an existing MCP server, the account owner or admins can move it to any team to recover resources left behind by empty teams or departed members; regular members can move it only to teams they belong to. However, **Marketplace-installed MCP servers cannot be reassigned to a team** — their scope is shown as a fixed account value in the edit form. A small number of legacy team-scoped Marketplace rows from earlier versions can still be changed back to account scope (promoted to shared); the reverse is not allowed. **Promoting to shared carries the same gate as account-level creation: only the account owner or admins can do it** — a regular member is denied even for servers belonging to their own team, and the prompt now reads "ask an admin to make it shared" instead of naming the owning team.
207211

‎en/ai-sre/sandbox.mdx‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ The **cloud sandbox** is a **temporary execution environment** managed by Flashd
1717

1818
It is AI SRE's **default fallback**: when no usable self-hosted Runner ([BYOC Runner](/en/ai-sre/environments#byoc-runner)) is online for the current member, sessions automatically run in the cloud sandbox; you can also **pin a session to it manually**.
1919

20+
The cloud sandbox executes on the hosting provider's serverless platform, in **Hong Kong** by default (Tencent AGS Hong Kong); when that region is unavailable, provisioning falls back to **Guangzhou** (Tencent AGS) and then **Beijing** (Aliyun FC), in that order.
21+
2022
<CardGroup cols={2}>
2123
<Card title="Zero install, ready to use" icon="cloud">
2224
No process to deploy and no credentials to enter. New accounts, ad-hoc investigations, and demos can start chatting right away on a clean sandbox the system allocates.

0 commit comments

Comments
 (0)