Skip to content

Commit 8b200ab

Browse files
authored
Merge pull request #237 from flashcatcloud/doc-review/2026-07-31-033115
docs: sync recent product updates (on-call, SSO, RUM, CLI, AI SRE)
2 parents 69986ca + 3cecb78 commit 8b200ab

14 files changed

Lines changed: 92 additions & 18 deletions

File tree

en/ai-sre/knowledge.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ Knowledge Packs are one type of AI SRE resource and follow the same two-level sc
3030

3131
---
3232

33-
`DUTY.md` is the **table of contents entry point** for the entire Knowledge Pack. It is the catalog itself — the agent reads `DUTY.md` in full, then fetches other files on demand via `@filename` references. The system does not attach a separate file listing alongside `DUTY.md`; the catalog is the body.
33+
`DUTY.md` is the **table of contents entry point** for the entire Knowledge Pack. It is the catalog itself — the agent reads `DUTY.md` in full, then fetches other files on demand via `@filename` references. As long as `DUTY.md` exists, the system does not attach a separate file listing alongside it; the catalog is the body.
34+
35+
If a scope has knowledge files but no `DUTY.md` yet, that scope is not silently skipped: the system includes a generated, authoritative file index in the session's knowledge manifest, and explicitly instructs the agent to read the indexed files relevant to the task at hand before doing substantive work (when there are only a few files, read them all) — rather than skipping this step and jumping straight to conclusions. Once a `DUTY.md` is created, this generated-index guidance goes away and the "catalog is the body" model resumes.
3436

3537
References use the `@<path>` style, where the path points to another file within the same pack. Subdirectories are supported (e.g., `@runbooks/api-5xx.md`):
3638

@@ -86,6 +88,8 @@ Go to the **Knowledges** management page to create, edit, enable/disable, or del
8688
</Step>
8789
</Steps>
8890

91+
**Document distillation**: Knowledge files only support the plain-text formats listed in the table above. If you upload a document in a format that can't be stored directly — PDF, Word, Excel, PowerPoint, or HTML — the console notes that the format can't be used by the agent directly and offers a **Go to chat for analysis** entry. Clicking it starts a new AI SRE session with the document carried in as an attachment; the agent reads the document and distills it into a Markdown knowledge file, which is saved into the current Knowledge Pack after your confirmation.
92+
8993
**Reference consistency checks**: when you save a file, any `@reference` pointing to a file that does not exist in the pack returns a non-blocking unresolved-reference warning (the save still completes). When you delete a file that is still referenced by other files, a still-referenced conflict prompt appears first — you can choose to **force delete**.
9094

9195
<Note>
@@ -100,7 +104,7 @@ Knowledge is not all loaded at once — it follows a **catalog-first, expand-on-
100104

101105
<Steps>
102106
<Step title="Session start: load the catalog">
103-
When a session starts, the system loads the current scope's `DUTY.md` into the session (no separate file list attached). Sessions bound to a team load both the account-level and that team's `DUTY.md`; sessions not bound to a team load only the account-level one.
107+
When a session starts, the system loads the current scope's `DUTY.md` into the session (no separate file list is attached when `DUTY.md` exists). Sessions bound to a team load both the account-level and that team's `DUTY.md`; sessions not bound to a team load only the account-level one. If a scope has knowledge files but no `DUTY.md` yet, the system instead attaches a generated file index and instructs the agent to read the relevant files before doing substantive work.
104108
</Step>
105109
<Step title="Follow references to read files">
106110
After reading `DUTY.md`, the agent decides which `@references` to expand based on the current incident, then reads the corresponding knowledge file for the specific content.

en/ai-sre/sessions.mdx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,17 @@ When calling `POST /safari/session/create`, you may include `entry_kind` in the
336336
Sessions with `entry_kind=im` support **in-place environment and team switching** — the IM `/env` and `/scope` commands can rebind the session to a different BYOC runner or team scope without discarding the conversation. Console sessions (`web`) have their environment and team fixed at creation time and do not support in-place switching.
337337
</Note>
338338

339+
## Reply language
340+
341+
---
342+
343+
Every session determines a **reply language** at creation time. The agent replies in that language for the entire session and never switches midway; reopening the session later continues in the same language.
344+
345+
| Entry kind | Where the reply language comes from |
346+
|---|---|
347+
| Console (`web`) | Follows the console UI language when the session is created; it is fixed at creation, so switching the UI language afterward does not affect existing sessions |
348+
| IM / API / automation (`im` / `api` / `automation`) | These entries carry no UI-language signal, so they default to the account's notification language |
349+
339350
## Session data export
340351

341352
---

en/developer/cli.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,8 @@ flashduty safari --help # AI SRE generated commands
420420
flashduty alert --help # Alert-related generated commands
421421
```
422422

423+
Time-window parameters on generated commands (`--start-time` / `--end-time`) accept the same human-friendly formats as the curated commands: relative durations (`7d`, `24h` — interpreted as "now minus duration"), `+7d` ("now plus duration", i.e. a future time), `now`, dates and datetimes (such as `2026-05-01` or `2026-05-01 10:00:00`), and unix timestamps in seconds. In addition, `--since` and `--until` are aliases for `--start-time` and `--end-time` respectively and can be used interchangeably; passing both spellings with different values is an error.
424+
423425
### Utility commands
424426

425427
```bash

en/on-call/incident/search-view-incident.mdx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,13 @@ The top of the Timeline tab provides a Markdown comment box that supports:
124124

125125
- Writing notes, troubleshooting memos, or meeting summaries in Markdown syntax
126126
- Pasting or uploading images directly; screenshots are auto-uploaded and converted into image links
127+
- Mentioning members with @ in a comment — the mentioned member receives a dedicated personal notification (with the comment content and an incident link, delivered by email and Flashduty App push by default), making it easy to pull the right people into the discussion
127128
- Appending the published comment as a record on the incident timeline, interleaved with system-generated events for easy retrospection
128129

130+
<Note>
131+
@mention notifications are dedicated personal notifications and are not affected by notification muting such as snooze or silence rules.
132+
</Note>
133+
129134
<Tip>
130135
Posting a comment requires update permission on the incident. If you only have view access, the comment input box does not appear on the details page.
131136
</Tip>

en/on-call/post-mortem/create-edit-post-mortem.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ Once you open the report, you'll enter an online collaborative editor. If you've
3434

3535
The editor auto-saves your work, so there's no need to manually click save.
3636

37+
When you @mention a member in the report body, the mentioned member receives a personal notification (with an excerpt of the mention and the report details), making it easy to invite the right people to contribute to or review the report.
38+
3739
### Inserting Images
3840

3941
While editing, you can paste or drag images directly into the editor — monitoring dashboard screenshots, architecture diagrams, or any other key visuals.
@@ -68,6 +70,8 @@ The key metrics panel shows the critical indicators for this incident. You can a
6870

6971
Follow-up items are for recording action items that come out of the review — things like "optimize database connection pool settings" or "add cache circuit breaker". Follow-ups can be edited at any time, whether the report is in draft or published status.
7072

73+
When you add an **Assignee** to a follow-up item, the system sends that member a personal notification prompting them to follow through; removing an assignee does not send a notification.
74+
7175
## Publishing and Managing
7276

7377
### Publish a Report

en/platform/configure-sso.mdx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Flashduty supports Single Sign-On (SSO) via SAML2.0, OIDC, CAS, and LDAP (privat
1616
| Protocol Type | Select SAML2.0 |
1717
| Metadata Document | XML document obtained from the identity provider |
1818
| Field Mapping | Flashduty extracts user email, username, and phone information from the identity provider through mapped fields |
19-
| Stable User ID Field (`user_id`) | The unique user identifier attribute returned by the identity provider, used to recognize the same member; email or phone changes do not affect recognition. Recommended value: `employee_id`; enter `name_id` to use the NameID (Subject) of the SAML assertion. See [Member Association](#member-association) below |
19+
| Stable User ID Field (`user_id`) | Optional. The unique user identifier attribute returned by the identity provider, used to recognize the same member; email or phone changes do not affect recognition. If left empty, members are matched by the email/phone fields below. Recommended value: `employee_id`; enter `name_id` to use the NameID (Subject) of the SAML assertion. See [Member Association](#member-association) below |
2020
| Create Account on Sign In | Enabled by default; when disabled, members must be invited before they can sign in |
2121
| SSO-only login (`force_sso`) | Enabled by default. When on, every member of this account can sign in only via SSO; password and verification-code sign-in are rejected. See [SSO-only login](#sso-only-login) below |
2222
| Flashduty Service Provider Info | **Service Provider Metadata** and **Assertion Consumer Service URL** (assertion address for identity provider to call for single sign-on) |
@@ -34,7 +34,7 @@ Flashduty supports Single Sign-On (SSO) via SAML2.0, OIDC, CAS, and LDAP (privat
3434
| Client ID | Client ID, obtained from identity provider |
3535
| Client Secret | Client secret, obtained from identity provider |
3636
| Field Mapping | Flashduty extracts user email, username, and phone information from the identity provider through mapped fields |
37-
| Stable User ID Field (`user_id`) | The unique user identifier claim used to recognize the same member; email or phone changes do not affect recognition. Recommended value: `sub`. See [Member Association](#member-association) below |
37+
| Stable User ID Field (`user_id`) | Optional. The unique user identifier claim used to recognize the same member; email or phone changes do not affect recognition. If left empty, members are matched by the email/phone fields below. Recommended value: `sub`. See [Member Association](#member-association) below |
3838
| Create Account on Sign In | Enabled by default; when disabled, members must be invited before they can sign in |
3939
| SSO-only login (`force_sso`) | Enabled by default. When on, every member of this account can sign in only via SSO; password and verification-code sign-in are rejected. See [SSO-only login](#sso-only-login) below |
4040
| Scopes | Specifies the information and functionality permissions the request can access, with support for customization. Defaults to `openid`, `profile`, `email`, `phone`; you can add custom scopes as tags |
@@ -57,7 +57,7 @@ Scopes is a required field. The default values `openid`, `profile`, `email`, `ph
5757
| CAS Login Path | CAS login path, e.g., `/login` |
5858
| Skip TLS Check | Optional; when enabled, skips TLS certificate verification, suitable for CAS services using self-signed certificates |
5959
| Field Mapping | Flashduty extracts user email, username, and phone information from the identity provider through mapped fields |
60-
| Stable User ID Field (`user_id`) | The unique user identifier used to recognize the same member; email or phone changes do not affect recognition. Recommended value: `principal` (the CAS authenticated username); you can also map it to a returned attribute. See [Member Association](#member-association) below |
60+
| Stable User ID Field (`user_id`) | Optional. The unique user identifier used to recognize the same member; email or phone changes do not affect recognition. If left empty, members are matched by the email/phone fields below. Recommended value: `principal` (the CAS authenticated username); you can also map it to a returned attribute. See [Member Association](#member-association) below |
6161
| Create Account on Sign In | Enabled by default; when disabled, members must be invited before they can sign in |
6262
| SSO-only login (`force_sso`) | Enabled by default. When on, every member of this account can sign in only via SSO; password and verification-code sign-in are rejected. See [SSO-only login](#sso-only-login) below |
6363
| Flashduty Service Provider Info | **Redirect URL**: Identity provider callback address |
@@ -82,7 +82,7 @@ LDAP single sign-on is only supported in the **private deployment version**.
8282
| User DN | Defines where to start searching for users, e.g., `ou=people,dc=flashduty,dc=com` |
8383
| Auth Filter | Custom filter expression for retrieving user DN information, basic form: `(&(mail=%s))`. Note: Opening and closing parentheses are required |
8484
| Field Mapping | Flashduty extracts user email, username, phone, and Group information from the identity provider through mapped fields. Email is a required mapping field. The Group field defaults to `memberOf` and is used for role and team synchronization |
85-
| Stable User ID Field (`user_id`) | The unique user identifier attribute used to recognize the same member; email or phone changes do not affect recognition. Recommended value: `uid`; you can also use a stable attribute such as `entryUUID`. See [Member Association](#member-association) below |
85+
| Stable User ID Field (`user_id`) | Optional. The unique user identifier attribute used to recognize the same member; email or phone changes do not affect recognition. If left empty, members are matched by the email/phone fields below. Recommended value: `uid`; you can also use a stable attribute such as `entryUUID`. See [Member Association](#member-association) below |
8686
| Create Account on Sign In | Enabled by default; when disabled, members must be invited before they can sign in |
8787
| SSO-only login (`force_sso`) | Enabled by default. When on, every member of this account can sign in only via SSO; password and verification-code sign-in are rejected. See [SSO-only login](#sso-only-login) below |
8888

@@ -132,12 +132,12 @@ When using the LDAP protocol, you can automatically synchronize Flashduty roles
132132

133133
---
134134

135-
During single sign-on, the system associates the user returned by the identity provider with a member of the account. The association method depends on whether the SSO configuration has a **Stable User ID Field** set:
135+
During single sign-on, the system associates the user returned by the identity provider with a member of the account. The association method depends on whether the SSO configuration has a **Stable User ID Field** set, and this applies to new and existing configurations alike:
136136

137137
| Configuration | Association method |
138138
| --- | --- |
139-
| New SSO configuration (stable user ID field configured) | Recognizes the same member by the stable user ID returned by the identity provider; email or phone changes do not affect recognition. If the stable user ID is not yet bound, the system first matches an existing member by email or phone and establishes the stable user ID binding |
140-
| Existing SSO configuration (no stable user ID field) | Members continue to be associated by email or phone; behavior stays unchanged |
139+
| Stable User ID Field configured | Recognizes the same member by the stable user ID returned by the identity provider; email or phone changes do not affect recognition. If the stable user ID is not yet bound, the system first matches an existing member by email or phone and establishes the stable user ID binding |
140+
| Stable User ID Field not configured (left empty) | Members continue to be associated by the mapped email or phone fields below; behavior stays unchanged |
141141

142142
<Warning>
143143
Make sure the identity provider always returns a stable and unique user ID. A mapping failure (the identity provider does not return the field) will prevent members from signing in.

en/rum/error-tracking/source-mapping.mdx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,10 @@ Use Flashduty CLI to upload `sourcemap` files to the Flashduty server.
109109
<ParamField path="Minified Path Prefix" type="string" required>
110110
Path prefix for minified files (e.g., `/assets`)
111111
</ParamField>
112+
113+
<ParamField path="Custom Upload Endpoint" type="string">
114+
Only needed for private deployments. On a private deployment the panel pre-fills the intake address issued by the deployment, and you can override it manually (protocol + domain, no path, e.g. `https://rum.example.com`). Leave it empty to upload to Flashcat SaaS.
115+
</ParamField>
112116
</Step>
113117
<Step title="Execute Upload">
114118
Run the generated script in the project root directory:
@@ -121,6 +125,10 @@ Use Flashduty CLI to upload `sourcemap` files to the Flashduty server.
121125
--api-key your-api-key \
122126
./dist
123127
```
128+
129+
<Note>
130+
For private deployments, prefix the command with the `FLASHCAT_SOURCEMAP_INTAKE_URL` environment variable to upload symbol files to a custom intake, e.g. `FLASHCAT_SOURCEMAP_INTAKE_URL=https://rum.example.com flashcat-cli sourcemaps upload ...` (protocol + domain, no path). When unset, uploads go to Flashcat SaaS. Once "Custom Upload Endpoint" is filled in, the panel-generated command includes this variable automatically.
131+
</Note>
124132
</Step>
125133
</Steps>
126134

@@ -377,6 +385,9 @@ iOS apps generate dSYM (Debug Symbol) files during compilation, containing the d
377385

378386
```bash
379387
FLASHCAT_API_KEY=your-api-key flashcat-cli dsyms upload ./app.dSYM
388+
389+
# Optional: custom intake endpoint for private deployments (protocol + domain, no path); defaults to Flashcat SaaS when unset
390+
FLASHCAT_API_KEY=your-api-key FLASHCAT_SOURCEMAP_INTAKE_URL=https://rum.example.com flashcat-cli dsyms upload ./app.dSYM
380391
```
381392

382393
<Tip>

0 commit comments

Comments
 (0)