From a1b4931243c5903265b5ad97807f58f896d14278 Mon Sep 17 00:00:00 2001 From: omid-aignostics Date: Mon, 13 Jul 2026 09:21:55 +0200 Subject: [PATCH 1/3] docs: add "Invite your team" guidance to user guides [PYSDK-144] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The guides stated administrators can invite users but never explained how. Add a shared "Invite your team" partial (Console → Admin → Members) included at the end of all four getting-started guides (before the Launchpad troubleshooting section), and expand the Console section of the Platform Overview with the same steps as the canonical reference. Co-Authored-By: Claude Opus 4.8 (1M context) --- README.md | 12 ++++++++++++ docs/partials/README_platform.md | 12 ++++++++++++ docs/partials/_invite_your_team.md | 18 ++++++++++++++++++ docs/partials/get_started_cli.md | 3 +++ docs/partials/get_started_launchpad.md | 3 +++ docs/partials/get_started_library.md | 3 +++ docs/partials/get_started_mcp.md | 3 +++ 7 files changed, 54 insertions(+) create mode 100644 docs/partials/_invite_your_team.md diff --git a/README.md b/README.md index 148702ff5..72e674d8a 100644 --- a/README.md +++ b/README.md @@ -132,6 +132,18 @@ manage your organization, applications, quotas, and users registered with the Ai 2. Administrators of your organization can invite additional users, manage the organisation and user specific quotas and monitor usage. 3. Both roles can trigger application runs. +#### Inviting and managing users + +If you have the Administrator role, you invite colleagues to your organization directly from the Console: + +1. Log in to the [Console](https://platform.aignostics.com) and select **Admin** in the sidebar, then open **Members**. +2. At the bottom of the Members page, enter the colleague's email address and assign a role: + - **Member** — a regular user who can run applications and manage their own runs. + - **Admin** — everything a member can do, plus inviting and managing other users. +3. Click **Send**. The colleague receives a signup email from `support@aignostics.com` inviting them to accept the invitation, set a password, and configure two-factor authentication. + +The email address must use your organization's official domain (see the registration requirements above). Return to the Members page at any time to review your organization's users and their roles. + ### Applications An application is a fully automated advanced machine learning based workflow composed of one or more specific tasks (e.g. Tissue Quality Control, Tissue Segmentation, Cell Detection, Cell Classification and predictive analysis). Each application is designed for a particular analysis purpose (e.g. Tumor Micro Environment analysis or biomarker scoring). For each application we define input requirements, processing tasks and output formats. diff --git a/docs/partials/README_platform.md b/docs/partials/README_platform.md index ed135b6a2..d5b8e3b35 100644 --- a/docs/partials/README_platform.md +++ b/docs/partials/README_platform.md @@ -37,6 +37,18 @@ manage your organization, applications, quotas, and users registered with the Ai 2. Administrators of your organization can invite additional users, manage the organisation and user specific quotas and monitor usage. 3. Both roles can trigger application runs. +#### Inviting and managing users + +If you have the Administrator role, you invite colleagues to your organization directly from the Console: + +1. Log in to the [Console](https://platform.aignostics.com) and select **Admin** in the sidebar, then open **Members**. +2. At the bottom of the Members page, enter the colleague's email address and assign a role: + - **Member** — a regular user who can run applications and manage their own runs. + - **Admin** — everything a member can do, plus inviting and managing other users. +3. Click **Send**. The colleague receives a signup email from `support@aignostics.com` inviting them to accept the invitation, set a password, and configure two-factor authentication. + +The email address must use your organization's official domain (see the registration requirements above). Return to the Members page at any time to review your organization's users and their roles. + ### Applications An application is a fully automated advanced machine learning based workflow composed of one or more specific tasks (e.g. Tissue Quality Control, Tissue Segmentation, Cell Detection, Cell Classification and predictive analysis). Each application is designed for a particular analysis purpose (e.g. Tumor Micro Environment analysis or biomarker scoring). For each application we define input requirements, processing tasks and output formats. diff --git a/docs/partials/_invite_your_team.md b/docs/partials/_invite_your_team.md new file mode 100644 index 000000000..17a9b14b4 --- /dev/null +++ b/docs/partials/_invite_your_team.md @@ -0,0 +1,18 @@ +## Invite your team + +If you are your organization's **Administrator**, you can invite colleagues onto the Aignostics Platform so they can run analyses too. + +> 💡 **Not an administrator?** Skip this section — ask whoever set up your organization's account to invite you. + +1. **Open the members page.** Log in to the [Aignostics Console](https://platform.aignostics.com), select **Admin** in the sidebar, then open **Members**. + +2. **Add a colleague and choose their role.** At the bottom of the Members page, enter their email address and assign a role: + + - **Member** — can run applications and manage their own runs. + - **Admin** — everything a member can do, plus inviting and managing other users. + + > ⚠️ The email address must use your organization's own domain — the same domain as yours. + +3. **Send the invitation.** Click **Send**. Your colleague receives a signup email from `support@aignostics.com` and completes the same steps you did — see **Sign up for the Aignostics Platform** at the start of this guide. + +Return to the Members page any time to review your organization's users and their roles. diff --git a/docs/partials/get_started_cli.md b/docs/partials/get_started_cli.md index 31b8fca53..e25945a20 100644 --- a/docs/partials/get_started_cli.md +++ b/docs/partials/get_started_cli.md @@ -117,3 +117,6 @@ To check system health manually: ```shell uvx aignostics system health ``` + +```{include} ../partials/_invite_your_team.md +``` diff --git a/docs/partials/get_started_launchpad.md b/docs/partials/get_started_launchpad.md index 5c2103a71..71014b220 100644 --- a/docs/partials/get_started_launchpad.md +++ b/docs/partials/get_started_launchpad.md @@ -129,6 +129,9 @@ Your slide appears in QuPath with the analysis annotations layered on top — ti **Congratulations** — you have signed up, installed Launchpad, run your first analysis, and opened the results in QuPath. +```{include} ../partials/_invite_your_team.md +``` + ## Troubleshooting
diff --git a/docs/partials/get_started_library.md b/docs/partials/get_started_library.md index 0eb8bac21..1c4501251 100644 --- a/docs/partials/get_started_library.md +++ b/docs/partials/get_started_library.md @@ -132,3 +132,6 @@ The `download_url` is a signed URL that allows the Aignostics Platform to downlo To make whole slide images available to the Aignostics Platform, you provide a signed URL the platform can download from. Signed URLs for files in Google Cloud Storage buckets can be generated with `generate_signed_url` ([code](https://github.com/aignostics/python-sdk/blob/main/src/aignostics/platform/_utils.py)). **You must provide the [required credentials](https://cloud.google.com/docs/authentication/application-default-credentials) for the Google Cloud Storage bucket.** + +```{include} ../partials/_invite_your_team.md +``` diff --git a/docs/partials/get_started_mcp.md b/docs/partials/get_started_mcp.md index f652e3ee7..ba83a6343 100644 --- a/docs/partials/get_started_mcp.md +++ b/docs/partials/get_started_mcp.md @@ -83,3 +83,6 @@ Plugins register themselves via Python entry points; their tools are automatical ## What AI agents can do Once configured, AI agents can help with platform operations through natural language, using the tools exposed by the SDK and any installed plugins. + +```{include} ../partials/_invite_your_team.md +``` From fa1176ea929ece2244a12293d0a6f6777dd73600 Mon Sep 17 00:00:00 2001 From: omid-aignostics Date: Tue, 21 Jul 2026 09:37:38 +0200 Subject: [PATCH 2/3] fix(ci): tolerate Ketryx 500 on PRs via continue-on-error [PYSDK-144] Mirror the Ketryx report workflow change from #694 onto this branch so the non-required ketryx_report_and_check step no longer marks PR CI red while the Ketryx-side CCR/PAT 500 is being resolved. Build still lands in Ketryx. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/_ketryx_report_and_check.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/_ketryx_report_and_check.yml b/.github/workflows/_ketryx_report_and_check.yml index bcd8c0555..41b73f1a8 100644 --- a/.github/workflows/_ketryx_report_and_check.yml +++ b/.github/workflows/_ketryx_report_and_check.yml @@ -55,10 +55,28 @@ jobs: name: audit-results path: audit-results + # The Ketryx action derives `changeRequestNumber` from GITHUB_REF_NAME when + # it ends in "/merge" (pull_request runs, e.g. "694/merge"). Ketryx then + # tries to fetch that PR as a Code Change Request (CCR) and returns HTTP + # 500 when the fetch fails (its PAT lacks the required GitHub permissions), + # failing the build even though it is otherwise reported successfully. We + # do not use the CCR feature (check-item-association is false). A step-level + # `env:` cannot override the default GITHUB_REF_NAME, so rewrite it via + # $GITHUB_ENV to the branch name (never ends in "/merge") to suppress + # changeRequestNumber. + - name: Suppress PR merge ref for Ketryx report + if: | + !contains(inputs.commit_message, 'skip:ketryx') && + !contains(github.event.pull_request.labels.*.name, 'skip:ketryx') + run: echo "GITHUB_REF_NAME=${{ github.head_ref || github.ref_name }}" >> "$GITHUB_ENV" + - name: Report build to Ketryx and check for approval if: | !contains(inputs.commit_message, 'skip:ketryx') && !contains(github.event.pull_request.labels.*.name, 'skip:ketryx') + # Safety net: a Ketryx-side 500 must not block PR CI (the build still + # lands in Ketryx). On push/tag runs (releases) the gate is enforced. + continue-on-error: ${{ github.event_name == 'pull_request' }} uses: Ketryx/ketryx-github-action@40b13ef68c772e96e58ec01a81f5b216d7710186 # v1.4.0 with: project: ${{ secrets.KETRYX_PROJECT }} From f6c36bfa81edc24f9fe79b47a7989d4df445e8a1 Mon Sep 17 00:00:00 2001 From: omid-aignostics Date: Tue, 21 Jul 2026 14:47:13 +0200 Subject: [PATCH 3/3] docs: reuse _invite_your_team.md partial on the Platform page [PYSDK-144] Address review feedback: include the shared invite-your-team snippet on README_platform.md instead of a bespoke variant. Genericize the snippet's closing step so it no longer references a guide-specific signup section, so it reads correctly on all five pages. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/partials/README_platform.md | 15 +++------------ docs/partials/_invite_your_team.md | 2 +- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/docs/partials/README_platform.md b/docs/partials/README_platform.md index d5b8e3b35..18704d831 100644 --- a/docs/partials/README_platform.md +++ b/docs/partials/README_platform.md @@ -37,18 +37,6 @@ manage your organization, applications, quotas, and users registered with the Ai 2. Administrators of your organization can invite additional users, manage the organisation and user specific quotas and monitor usage. 3. Both roles can trigger application runs. -#### Inviting and managing users - -If you have the Administrator role, you invite colleagues to your organization directly from the Console: - -1. Log in to the [Console](https://platform.aignostics.com) and select **Admin** in the sidebar, then open **Members**. -2. At the bottom of the Members page, enter the colleague's email address and assign a role: - - **Member** — a regular user who can run applications and manage their own runs. - - **Admin** — everything a member can do, plus inviting and managing other users. -3. Click **Send**. The colleague receives a signup email from `support@aignostics.com` inviting them to accept the invitation, set a password, and configure two-factor authentication. - -The email address must use your organization's official domain (see the registration requirements above). Return to the Members page at any time to review your organization's users and their roles. - ### Applications An application is a fully automated advanced machine learning based workflow composed of one or more specific tasks (e.g. Tissue Quality Control, Tissue Segmentation, Cell Detection, Cell Classification and predictive analysis). Each application is designed for a particular analysis purpose (e.g. Tumor Micro Environment analysis or biomarker scoring). For each application we define input requirements, processing tasks and output formats. @@ -201,3 +189,6 @@ The organization's Google Cloud Storage bucket stores uploaded files with automa - **Scalability**: Handles single exploratory slides through thousand-slide clinical studies with identical user experience - **Cost efficiency**: Pay-per-use GPU provisioning, automatic storage cleanup, no idle infrastructure costs - **Operational simplicity**: Python SDK abstracts all cloud complexity; IT teams manage access through existing identity systems + +```{include} ../partials/_invite_your_team.md +``` diff --git a/docs/partials/_invite_your_team.md b/docs/partials/_invite_your_team.md index 17a9b14b4..d7f73b870 100644 --- a/docs/partials/_invite_your_team.md +++ b/docs/partials/_invite_your_team.md @@ -13,6 +13,6 @@ If you are your organization's **Administrator**, you can invite colleagues onto > ⚠️ The email address must use your organization's own domain — the same domain as yours. -3. **Send the invitation.** Click **Send**. Your colleague receives a signup email from `support@aignostics.com` and completes the same steps you did — see **Sign up for the Aignostics Platform** at the start of this guide. +3. **Send the invitation.** Click **Send**. Your colleague receives a signup email from `support@aignostics.com` and completes the same signup steps you did — accepting the invitation, setting a password, and configuring two-factor authentication. Return to the Members page any time to review your organization's users and their roles.