diff --git a/CHANGELOG.md b/CHANGELOG.md index a40867980..6789f9bde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,24 @@ +## 0.2.30 — 2026-10-20 + +- Present bounded Codex MCP server, tool, reported status and text output in Studio without treating provider reports as native runner receipts or product QA. +- Name the known configured-check tool clearly and keep its exact identity under a disclosure. Retain exact bounded identities for other tools. +- Preserve existing archive limits, integrity checks and explicit full-event reads; unsupported structured results remain available only through the retained event. +- Label retained previous-attempt verification before its totals in recovery feedback. Keep current-attempt checks distinct without changing delivery identities or replay rules. +- Refresh the controlled desktop/mobile walkthroughs and document the distinction between actual finite-client messages, presentation fixtures and product acceptance. + +## 0.2.29 — 2026-10-20 + +- Let an administrator grant selected retained checks to one future official-CLI recovery through a separate scoped MCP channel, with explicit limits and current source, actor and execution authority checks. +- Run check requests through the native runner and WAL using only a configured command index and retained request identity. Preserve known readback, unknown-effect holds and independent final verification capacity. +- Bind the grant to the final recovery request before reservation. Keep the original four-attempt contract, one-use fifth allowance, runner budgets and historical snapshots unchanged. +- Guide Studio administrators through check review, explicit grant, mitigation and final reservation. Retain exact request bodies before each single POST; hold uncertain responses, revoked access and missing browser records for authorized readback. +- Add strict SDK and CLI grant, current-status, exact-receipt and revocation operations. Keep the 162 operator MCP tools separate from the one-tool coding channel and add two native Agentic prompt resources. +- Select asyncio explicitly for the API server and refuse a known uvloop host with a finite file-size limit before trusted CLI dispatch intent or launch. Preserve the kernel limit and all spent task and reservation history. +- Refresh the controlled desktop/mobile walkthroughs for 0.2.29, including the four-step grant journey. These fixtures and protocol tests do not establish live official-CLI tool use or generated-product acceptance. + ## 0.2.28 — 2026-10-20 - Let a current native factory administrator reserve one final fifth dispatch after a known, drained fourth official-CLI failure, with a sealed allowance and admission in the existing WAL transaction. diff --git a/Dockerfile b/Dockerfile index dfa62af6f..bd0b11fa8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,7 @@ RUN npm ci COPY studio/ ./ COPY tests/fixtures/activity-archive-contract-v1.json /build/tests/fixtures/activity-archive-contract-v1.json COPY tests/fixtures/activity-claude-contract-v1.json /build/tests/fixtures/activity-claude-contract-v1.json +COPY tests/fixtures/activity-codex-mcp-v1.json /build/tests/fixtures/activity-codex-mcp-v1.json RUN npm run build FROM python:3.13-slim-trixie diff --git a/README.md b/README.md index b3ed0ac31..9777c54c6 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ A passing run records its verified source and local checkpoint. Publication rech Review an [incremental product change](docs/product-lifecycle.md) against its saved revision before adding a feature or integration. Studio retains the original save request and any later draft separately when the outcome is uncertain. Journey references show linked behavior and acceptance criteria; review them against the product's intended experience before implementation. -Read the run's [retained evidence](docs/run-evidence.md) to distinguish coding-provider activity from final factory verification. Studio distinguishes Codex command results from Claude tool requests, reported results and provider messages. Complete sanitized event content is available on demand within archive limits; provider reports remain separate from factory verification. SDK, CLI and MCP readers use the same current permissions and exact content descriptor. +Read the run's [retained evidence](docs/run-evidence.md) to distinguish coding-provider activity from final factory verification. Studio distinguishes Codex command results and reported MCP activity from Claude tool requests, reported results and provider messages. Known configured-check calls use a human title with their exact tool identity available separately. Complete sanitized event content is available on demand within archive limits; provider reports remain separate from factory verification. SDK, CLI and MCP readers use the same current permissions and exact content descriptor. ## Choose how the factory executes work @@ -45,10 +45,12 @@ The default combined service admits and executes work. A split installation sepa Choose and verify the execution environment before admitting a run. Git workspaces protect the consumer checkout; host commands still run with the worker's operating-system identity. Project users require isolated execution, while host coding and host verification require current administrator authority. [Runner configuration](docs/sandbox.md) and [security](docs/security.md) describe the enforced boundaries. -On POSIX, trusted Codex and Claude launches preserve an inherited ignored `SIGXFSZ` when the parent has a finite file-size limit. The kernel limit remains enforced, and recovery still requires its existing process evidence and attempt budget. See [file-size failure recovery](docs/recovery.md#recover-a-known-failed-official-cli-attempt) for the launch conditions and qualification limits. +With the stdlib asyncio event loop on POSIX, trusted Codex and Claude launches preserve an inherited ignored `SIGXFSZ` when the parent has a finite file-size limit. `forge serve` selects this loop explicitly. External ASGI hosts must also use asyncio; a known uvloop host with a finite file-size limit is refused before the provider dispatch intent or child launch. The kernel limit and spent recovery history remain unchanged. See [file-size failure recovery](docs/recovery.md#recover-a-known-failed-official-cli-attempt) for the launch conditions and qualification limits. After a known, drained fourth official-CLI failure, a native factory administrator can review [one final provider allowance](docs/recovery.md#review-the-final-allowance-in-studio) in the run's Plan tab. The wizard reviews the selected current CLI and source, records the administrator's mitigation attestation and reserves one fifth dispatch. The allowance is spent at reservation, even if its response is lost or dispatch never starts. Legacy recovery keeps its four-attempt limit; the final allowance cannot authorize a sixth dispatch or establish product QA. +A recovery can also use [explicitly granted configured checks](docs/recovery.md#grant-configured-checks-for-the-final-recovery). Review the retained commands, runner and budget, grant access for one identified recovery, then reserve that final attempt separately. The scoped tool cannot submit arbitrary commands; successful interactive checks remain separate from independent final verification. SDK and CLI operators use the same grant and receipt contracts. + In Studio, a run's Plan tab can review an original queued command for explicit continuation after one controller replacement. The original Factory worker must still be waiting. The browser retains the request before submission and reads its exact receipt after a lost response. Follow the [continuation guide](docs/sandbox.md#continue-one-queued-command-after-a-controller-restart) for the admission and recovery limits. Open a paused run’s **Agent questions** tab to review the agent’s question and context. Choose a suggested answer or use the Markdown editor, review it, then send it under a retained response identity. Readback confirms the recorded answer after reload or a lost response; answering leaves the run paused until you resume it. Current project permissions and the authenticated replying user are checked separately from the recorded actor label. See [operator decisions](docs/agent-lifecycle.md#answer-an-agents-question). diff --git a/docs/agent-integrations.md b/docs/agent-integrations.md index 88bb93021..f604f79d5 100644 --- a/docs/agent-integrations.md +++ b/docs/agent-integrations.md @@ -283,6 +283,24 @@ forge product apply-change REPOSITORY_ID change.json Python exposes `model_profiles`, `save_model_profile`, `test_model_profile`, `task_routing`, `save_task_routing`, `preview_product_change` and `apply_product_change`. Typed configuration methods can receive secrets from an application secret manager. The SDK filters profile responses and suppresses configuration errors that could reflect a submitted secret. +## Grant check access to a coding recovery + +The scoped coding channel is separate from `forge mcp`. It lets an official Codex or Claude invocation request selected checks already retained by the run. The caller supplies a command index and request identity; the factory owns the actual command, runner, current authority and budget. It does not expose the operator token or the factory's 162 operator tools to that coding process. + +Use the native SDK methods `coding_check_candidate`, `grant_coding_checks`, `coding_check_receipt`, `coding_check_current` and `revoke_coding_checks`, or the matching CLI commands: + +```sh +forge coding-check-grants candidate RUN_ID FUTURE_RECOVERY_REQUEST_ID --bind-port 0 +forge coding-check-grants grant RUN_ID reviewed-grant.json +forge coding-check-grants get RUN_ID ORIGINAL_GRANT_REQUEST_ID +forge coding-check-grants current RUN_ID +forge coding-check-grants revoke RUN_ID reviewed-revocation.json +``` + +Prepare the JSON document from the reviewed candidate and [strict request fields](api.md#scoped-coding-check-grants). Keep its grant request ID and future recovery ID before the write. Each SDK or CLI operation makes one explicit request; an uncertain write requires reading its original receipt. A historical receipt does not establish current active status. + +After the grant is confirmed, read the final-allowance candidate again and explicitly reserve with the same future recovery request ID and `coding_check_grant_id`. Grant creation does not itself reserve a dispatch, and a refused linked flow cannot silently become CLI-only recovery. The [Studio journey](recovery.md#grant-configured-checks-for-the-final-recovery) illustrates these separate decisions with controlled fixtures. Native runner receipts and independent final verification determine the actual outcome. + ## MCP Operators can inspect an uncertain learning invalidation through Python `learning_invalidation_receipt(record_id, request_id)`, `forge learning invalidation-receipt RECORD_ID --request-id REQUEST_ID`, or `get_learning_invalidation_receipt`. Each performs the same authorized GET for the exact committed request. The returned historical decision does not replace the current record state. A 404 remains unobserved evidence and never triggers a second write. Keep the original request identity and reason; see [invalidation receipts](learning.md#inspect-an-uncertain-invalidation). diff --git a/docs/api.md b/docs/api.md index 73956c8b6..a89752bcb 100644 --- a/docs/api.md +++ b/docs/api.md @@ -96,6 +96,42 @@ Same ID, body and current operator return the existing receipt. A stale candidat Fifth-attempt worker feedback uses `protocol: "native-provider-recovery-allowance-v1"`, literal `attempt: 5`, `role_id: "implementer"`, `task_id: "implement"`, `allowance_id` and `allowance_digest`, alongside the usual feedback fields. The native journal checks the actual consumed reservation and current authority before accepting it. Legacy `WorkerFeedback` remains limited to attempts 1–4. +### Scoped coding-check grants + +These routes require a current native factory administrator and execution authority. They grant selected retained checks to one preallocated final recovery request; they do not reserve or execute the coding dispatch. + +| Method | Path | Purpose | +| --- | --- | --- | +| GET | `/runs/{id}/coding-check-grants/candidate?recovery_request_id=ID&bind_port=0` | Review the retained commands, runner, source/authority cut and remaining budget | +| POST | `/runs/{id}/coding-check-grants` | Record the explicit grant once | +| GET | `/runs/{id}/coding-check-grants/{request_id}` | Read the original grant or revocation receipt | +| GET | `/runs/{id}/coding-check-grants/current` | Inspect current grant identity, revision, status, receipt fingerprint and expiry | +| POST | `/runs/{id}/coding-check-grants/revocations` | Revoke the exact current grant revision | + +The strict `CodingCheckGrantInput` rejects extra fields: + +| Field | Required review | +| --- | --- | +| `request_id` | Grant request identity: 32 lowercase hexadecimal characters | +| `recovery_request_id` | Future final-allowance identity: 32 lowercase hexadecimal characters, retained before granting | +| `candidate_digest` | The candidate's opaque 64-character SHA-256 fingerprint | +| `expected_revision` | The candidate's nonnegative grant revision | +| `command_indices` | One to twenty distinct configured indices, each 0–19 and present in the candidate | +| `call_limit` | One to twenty invocations, no more than available interactive capacity; calls may repeat a selected index | +| `valid_seconds` | Lifetime of 30–3600 seconds, also enforced during invocation | +| `bind_port` | `0` by default for automatic loopback selection, or a fixed port from 1024–65535 | +| `reason` | A nonblank explanation of at most 2,000 characters | + +The candidate separates `interactive_commands_remaining` from `independent_final_check_count`. Configured and policy checks together remain subject to the existing final-verification limit of 20. Grant creation cannot reset that limit or the frozen shared runner budget. + +The immutable grant receipt returns an opaque `receipt_digest`. Compare it with `/current`, along with grant ID, revision and expiry; do not recompute a native receipt hash from client-side JSON numbers. Only `active` current status can authorize the linked path. `none`, `revoked` and `expired` retain their distinct meanings, and an old receipt never overrides current permission or revocation checks. + +A revocation request requires its own `request_id`, the exact `grant_id`, current positive `expected_revision` and a `reason` of 1–2,000 characters. Read that original request ID after an uncertain response. The active grant and revocation records remain in the WAL; revocation cannot erase prior effects. + +After grant confirmation, refresh the final-allowance candidate and include `coding_check_grant_id` when reserving under the original `recovery_request_id`. Legacy CLI-only allowance bodies keep their existing wire shape. The scoped MCP tool accepts only `command_index` and its own 32-character request ID; it cannot choose a run, provider, directory, arguments, environment or timeout. See [the recovery procedure](recovery.md#grant-scoped-configured-checks-to-an-official-cli). + +## Factory endpoints + | Method | Path | Operation | | --- | --- | --- | | GET | `/health` | Inspect server health | diff --git a/docs/architecture.md b/docs/architecture.md index 9b2e57fa2..35d9f7a57 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -287,6 +287,42 @@ flowchart LR

The first row commits the one-use reservation. The second follows execution under renewed checks; an uncertain or refused outcome keeps that reservation spent. Verification remains a separate stage. On a narrow screen, scroll horizontally or focus the diagram and use the arrow keys.

+### Scoped configured-check execution + +An official coding CLI can receive a separate, explicitly granted `run_configured_check(command_index, request_id)` tool for one final recovery. `CodingCheckGrants` binds the current administrator, future recovery identity, retained commands and runner, source/authority cut, call cap and expiry. Grant admission advances the WAL but consumes no provider dispatch. The final allowance must then name that grant and the same preallocated recovery request. + +The parent provider opens an invocation-scoped MCP endpoint on literal loopback. Its closure owns run, task, actor and lease identity; the model supplies only a retained command index and a request ID. `CodingCheckRuntime` checks current authority and budget around credential admission, resolves arguments internally, and calls the existing `SandboxExecutor`. Known results retain their observed source and receipt. A legitimate implementation edit can be checked again within the cap, while an unknown effect holds the invocation rather than allowing another identity to replay it. + +
+ +```mermaid +--- +config: + flowchart: + wrappingWidth: 96 +--- +flowchart LR + C["Review retained
checks and limits"] --> G["Grant one future
recovery request"] + G --> A["Reserve linked
final attempt"] +``` + +```mermaid +--- +config: + flowchart: + wrappingWidth: 96 +--- +flowchart LR + L["Official
coding CLI"] --> T["Scoped
check tool"] + T --> W["Native runner
receipt and WAL"] +``` + +
+ +

Review and grant before reserving the linked attempt. Each interactive call repeats current authority, source and budget checks; independent final verification follows separately. On a narrow screen, scroll horizontally or focus a diagram and use the arrow keys.

+ +The coding channel is separate from the 162-tool operator MCP server. Its token is invocation-scoped, expires no later than the provider deadline, and is removed from streams and retained activity before storage. Accepted effects drain before teardown. Codex retains `workspace-write`; Claude uses an explicit private MCP configuration with strict server/tool selection. These adapters do not make general role-tool declarations enforceable inside an official CLI. A host runner retains service-account execution with timeout/output controls, without filesystem or network isolation. The grant changes no original snapshot, repair allowance or shared runner budget. See [the recovery journey](recovery.md#grant-configured-checks-for-the-final-recovery) and [native API contract](api.md#scoped-coding-check-grants). + Bridge completion requests follow the same uncertainty rule. A transport failure, unusable completion or cancellation during an unfinished submission retains the original intent and workspace for reconciliation. Local cancellation stops scheduling but cannot establish the remote result. The hold survives cancelled, interrupted or failed run status; resume, handoff and replacement retry check it before dispatch. Recovery of the original Bridge job is not automated. See [provider failure handling](agents.md). Opt-in implementation checkpoints support explicit continuation at the original model boundary. The checkpoint and Bridge intent commit together before the completion POST. A bounded, read-only candidate projection verifies the retained journal, current authority and original ticket bindings before Studio offers a review. The projection makes no Bridge call and writes no ticket or consume receipt. diff --git a/docs/assets/screenshots/activity-claude-request-desktop-dark.png b/docs/assets/screenshots/activity-claude-request-desktop-dark.png index c9ca5fc92..22576fb39 100644 Binary files a/docs/assets/screenshots/activity-claude-request-desktop-dark.png and b/docs/assets/screenshots/activity-claude-request-desktop-dark.png differ diff --git a/docs/assets/screenshots/activity-claude-request-desktop-light.png b/docs/assets/screenshots/activity-claude-request-desktop-light.png index d6512c8df..5288c4b85 100644 Binary files a/docs/assets/screenshots/activity-claude-request-desktop-light.png and b/docs/assets/screenshots/activity-claude-request-desktop-light.png differ diff --git a/docs/assets/screenshots/activity-claude-request-mobile-dark.png b/docs/assets/screenshots/activity-claude-request-mobile-dark.png index 367343626..ffa143847 100644 Binary files a/docs/assets/screenshots/activity-claude-request-mobile-dark.png and b/docs/assets/screenshots/activity-claude-request-mobile-dark.png differ diff --git a/docs/assets/screenshots/activity-claude-request-mobile-light.png b/docs/assets/screenshots/activity-claude-request-mobile-light.png index 5654e89e3..439b95813 100644 Binary files a/docs/assets/screenshots/activity-claude-request-mobile-light.png and b/docs/assets/screenshots/activity-claude-request-mobile-light.png differ diff --git a/docs/assets/screenshots/activity-claude-result-desktop-dark.png b/docs/assets/screenshots/activity-claude-result-desktop-dark.png index e717f7327..d9d6c5f92 100644 Binary files a/docs/assets/screenshots/activity-claude-result-desktop-dark.png and b/docs/assets/screenshots/activity-claude-result-desktop-dark.png differ diff --git a/docs/assets/screenshots/activity-claude-result-desktop-light.png b/docs/assets/screenshots/activity-claude-result-desktop-light.png index 2d887e2b3..35a2ac0b0 100644 Binary files a/docs/assets/screenshots/activity-claude-result-desktop-light.png and b/docs/assets/screenshots/activity-claude-result-desktop-light.png differ diff --git a/docs/assets/screenshots/activity-claude-result-mobile-dark.png b/docs/assets/screenshots/activity-claude-result-mobile-dark.png index f3cecf297..3cbb49b9b 100644 Binary files a/docs/assets/screenshots/activity-claude-result-mobile-dark.png and b/docs/assets/screenshots/activity-claude-result-mobile-dark.png differ diff --git a/docs/assets/screenshots/activity-claude-result-mobile-light.png b/docs/assets/screenshots/activity-claude-result-mobile-light.png index f51c18f63..ef442eab9 100644 Binary files a/docs/assets/screenshots/activity-claude-result-mobile-light.png and b/docs/assets/screenshots/activity-claude-result-mobile-light.png differ diff --git a/docs/assets/screenshots/activity-codex-mcp-desktop-dark.png b/docs/assets/screenshots/activity-codex-mcp-desktop-dark.png new file mode 100644 index 000000000..56a2ffb76 Binary files /dev/null and b/docs/assets/screenshots/activity-codex-mcp-desktop-dark.png differ diff --git a/docs/assets/screenshots/activity-codex-mcp-desktop-light.png b/docs/assets/screenshots/activity-codex-mcp-desktop-light.png new file mode 100644 index 000000000..230d4dd25 Binary files /dev/null and b/docs/assets/screenshots/activity-codex-mcp-desktop-light.png differ diff --git a/docs/assets/screenshots/activity-codex-mcp-mobile-dark.png b/docs/assets/screenshots/activity-codex-mcp-mobile-dark.png new file mode 100644 index 000000000..d7be45c26 Binary files /dev/null and b/docs/assets/screenshots/activity-codex-mcp-mobile-dark.png differ diff --git a/docs/assets/screenshots/activity-codex-mcp-mobile-light.png b/docs/assets/screenshots/activity-codex-mcp-mobile-light.png new file mode 100644 index 000000000..67f7707ac Binary files /dev/null and b/docs/assets/screenshots/activity-codex-mcp-mobile-light.png differ diff --git a/docs/assets/screenshots/activity-provider-full-desktop-dark.png b/docs/assets/screenshots/activity-provider-full-desktop-dark.png index 096ed1a26..8a9aa26a8 100644 Binary files a/docs/assets/screenshots/activity-provider-full-desktop-dark.png and b/docs/assets/screenshots/activity-provider-full-desktop-dark.png differ diff --git a/docs/assets/screenshots/activity-provider-full-desktop-light.png b/docs/assets/screenshots/activity-provider-full-desktop-light.png index 7812678f4..4f60391c5 100644 Binary files a/docs/assets/screenshots/activity-provider-full-desktop-light.png and b/docs/assets/screenshots/activity-provider-full-desktop-light.png differ diff --git a/docs/assets/screenshots/activity-provider-full-mobile-dark.png b/docs/assets/screenshots/activity-provider-full-mobile-dark.png index dfe5ccfa0..89d3efe2d 100644 Binary files a/docs/assets/screenshots/activity-provider-full-mobile-dark.png and b/docs/assets/screenshots/activity-provider-full-mobile-dark.png differ diff --git a/docs/assets/screenshots/activity-provider-full-mobile-light.png b/docs/assets/screenshots/activity-provider-full-mobile-light.png index 4b704d837..d7603f38c 100644 Binary files a/docs/assets/screenshots/activity-provider-full-mobile-light.png and b/docs/assets/screenshots/activity-provider-full-mobile-light.png differ diff --git a/docs/assets/screenshots/activity-provider-preview-desktop-dark.png b/docs/assets/screenshots/activity-provider-preview-desktop-dark.png index 2c1442480..f701ce747 100644 Binary files a/docs/assets/screenshots/activity-provider-preview-desktop-dark.png and b/docs/assets/screenshots/activity-provider-preview-desktop-dark.png differ diff --git a/docs/assets/screenshots/activity-provider-preview-desktop-light.png b/docs/assets/screenshots/activity-provider-preview-desktop-light.png index a4f75db76..dbd59eca7 100644 Binary files a/docs/assets/screenshots/activity-provider-preview-desktop-light.png and b/docs/assets/screenshots/activity-provider-preview-desktop-light.png differ diff --git a/docs/assets/screenshots/activity-provider-preview-mobile-dark.png b/docs/assets/screenshots/activity-provider-preview-mobile-dark.png index 5246cc224..3e360c156 100644 Binary files a/docs/assets/screenshots/activity-provider-preview-mobile-dark.png and b/docs/assets/screenshots/activity-provider-preview-mobile-dark.png differ diff --git a/docs/assets/screenshots/activity-provider-preview-mobile-light.png b/docs/assets/screenshots/activity-provider-preview-mobile-light.png index 6c9b1518a..375b10e43 100644 Binary files a/docs/assets/screenshots/activity-provider-preview-mobile-light.png and b/docs/assets/screenshots/activity-provider-preview-mobile-light.png differ diff --git a/docs/assets/screenshots/agent-answer-confirmed-desktop-dark.png b/docs/assets/screenshots/agent-answer-confirmed-desktop-dark.png index 478e1103c..f76d0d0db 100644 Binary files a/docs/assets/screenshots/agent-answer-confirmed-desktop-dark.png and b/docs/assets/screenshots/agent-answer-confirmed-desktop-dark.png differ diff --git a/docs/assets/screenshots/agent-answer-confirmed-desktop-light.png b/docs/assets/screenshots/agent-answer-confirmed-desktop-light.png index 8c9a1d79d..d7a8fbf45 100644 Binary files a/docs/assets/screenshots/agent-answer-confirmed-desktop-light.png and b/docs/assets/screenshots/agent-answer-confirmed-desktop-light.png differ diff --git a/docs/assets/screenshots/agent-answer-confirmed-mobile-dark.png b/docs/assets/screenshots/agent-answer-confirmed-mobile-dark.png index 21d226e08..648b4273b 100644 Binary files a/docs/assets/screenshots/agent-answer-confirmed-mobile-dark.png and b/docs/assets/screenshots/agent-answer-confirmed-mobile-dark.png differ diff --git a/docs/assets/screenshots/agent-answer-confirmed-mobile-light.png b/docs/assets/screenshots/agent-answer-confirmed-mobile-light.png index 8b826eccf..a061d3b30 100644 Binary files a/docs/assets/screenshots/agent-answer-confirmed-mobile-light.png and b/docs/assets/screenshots/agent-answer-confirmed-mobile-light.png differ diff --git a/docs/assets/screenshots/agent-answer-review-desktop-dark.png b/docs/assets/screenshots/agent-answer-review-desktop-dark.png index f947c553b..9f0297e6a 100644 Binary files a/docs/assets/screenshots/agent-answer-review-desktop-dark.png and b/docs/assets/screenshots/agent-answer-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/agent-answer-review-desktop-light.png b/docs/assets/screenshots/agent-answer-review-desktop-light.png index a64294043..4d01ee18f 100644 Binary files a/docs/assets/screenshots/agent-answer-review-desktop-light.png and b/docs/assets/screenshots/agent-answer-review-desktop-light.png differ diff --git a/docs/assets/screenshots/agent-answer-review-mobile-dark.png b/docs/assets/screenshots/agent-answer-review-mobile-dark.png index 3e6087259..8e0421ef0 100644 Binary files a/docs/assets/screenshots/agent-answer-review-mobile-dark.png and b/docs/assets/screenshots/agent-answer-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/agent-answer-review-mobile-light.png b/docs/assets/screenshots/agent-answer-review-mobile-light.png index b8c2f4134..69e02e636 100644 Binary files a/docs/assets/screenshots/agent-answer-review-mobile-light.png and b/docs/assets/screenshots/agent-answer-review-mobile-light.png differ diff --git a/docs/assets/screenshots/agent-answer-unresolved-desktop-dark.png b/docs/assets/screenshots/agent-answer-unresolved-desktop-dark.png index 4cf4c9ba5..a29606bfd 100644 Binary files a/docs/assets/screenshots/agent-answer-unresolved-desktop-dark.png and b/docs/assets/screenshots/agent-answer-unresolved-desktop-dark.png differ diff --git a/docs/assets/screenshots/agent-answer-unresolved-desktop-light.png b/docs/assets/screenshots/agent-answer-unresolved-desktop-light.png index 81e29e70d..3ce7034d7 100644 Binary files a/docs/assets/screenshots/agent-answer-unresolved-desktop-light.png and b/docs/assets/screenshots/agent-answer-unresolved-desktop-light.png differ diff --git a/docs/assets/screenshots/agent-answer-unresolved-mobile-dark.png b/docs/assets/screenshots/agent-answer-unresolved-mobile-dark.png index 3490e9144..45dfa3cb2 100644 Binary files a/docs/assets/screenshots/agent-answer-unresolved-mobile-dark.png and b/docs/assets/screenshots/agent-answer-unresolved-mobile-dark.png differ diff --git a/docs/assets/screenshots/agent-answer-unresolved-mobile-light.png b/docs/assets/screenshots/agent-answer-unresolved-mobile-light.png index fe4464bd4..7f75961ff 100644 Binary files a/docs/assets/screenshots/agent-answer-unresolved-mobile-light.png and b/docs/assets/screenshots/agent-answer-unresolved-mobile-light.png differ diff --git a/docs/assets/screenshots/agent-question-desktop-dark.png b/docs/assets/screenshots/agent-question-desktop-dark.png index d3bca113b..5842315d4 100644 Binary files a/docs/assets/screenshots/agent-question-desktop-dark.png and b/docs/assets/screenshots/agent-question-desktop-dark.png differ diff --git a/docs/assets/screenshots/agent-question-desktop-light.png b/docs/assets/screenshots/agent-question-desktop-light.png index 67dbafe66..f72d9a607 100644 Binary files a/docs/assets/screenshots/agent-question-desktop-light.png and b/docs/assets/screenshots/agent-question-desktop-light.png differ diff --git a/docs/assets/screenshots/agent-question-mobile-dark.png b/docs/assets/screenshots/agent-question-mobile-dark.png index 8e4c02aa8..3c3bc537c 100644 Binary files a/docs/assets/screenshots/agent-question-mobile-dark.png and b/docs/assets/screenshots/agent-question-mobile-dark.png differ diff --git a/docs/assets/screenshots/agent-question-mobile-light.png b/docs/assets/screenshots/agent-question-mobile-light.png index d9763aa79..5a3dcc305 100644 Binary files a/docs/assets/screenshots/agent-question-mobile-light.png and b/docs/assets/screenshots/agent-question-mobile-light.png differ diff --git a/docs/assets/screenshots/campaign-plan-milestones-desktop-dark.png b/docs/assets/screenshots/campaign-plan-milestones-desktop-dark.png index 87f1401fc..bf9a6ac76 100644 Binary files a/docs/assets/screenshots/campaign-plan-milestones-desktop-dark.png and b/docs/assets/screenshots/campaign-plan-milestones-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-plan-milestones-desktop-light.png b/docs/assets/screenshots/campaign-plan-milestones-desktop-light.png index 4b9b31068..a1164ddd0 100644 Binary files a/docs/assets/screenshots/campaign-plan-milestones-desktop-light.png and b/docs/assets/screenshots/campaign-plan-milestones-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-plan-progress-desktop-dark.png b/docs/assets/screenshots/campaign-plan-progress-desktop-dark.png index df0406373..ec944ec42 100644 Binary files a/docs/assets/screenshots/campaign-plan-progress-desktop-dark.png and b/docs/assets/screenshots/campaign-plan-progress-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-plan-progress-desktop-light.png b/docs/assets/screenshots/campaign-plan-progress-desktop-light.png index 83a36b524..526e73286 100644 Binary files a/docs/assets/screenshots/campaign-plan-progress-desktop-light.png and b/docs/assets/screenshots/campaign-plan-progress-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-plan-progress-mobile-dark.png b/docs/assets/screenshots/campaign-plan-progress-mobile-dark.png index eed21a2ef..b70731b11 100644 Binary files a/docs/assets/screenshots/campaign-plan-progress-mobile-dark.png and b/docs/assets/screenshots/campaign-plan-progress-mobile-dark.png differ diff --git a/docs/assets/screenshots/campaign-plan-progress-mobile-light.png b/docs/assets/screenshots/campaign-plan-progress-mobile-light.png index b47758804..1e9d2234e 100644 Binary files a/docs/assets/screenshots/campaign-plan-progress-mobile-light.png and b/docs/assets/screenshots/campaign-plan-progress-mobile-light.png differ diff --git a/docs/assets/screenshots/campaign-plan-review-desktop-dark.png b/docs/assets/screenshots/campaign-plan-review-desktop-dark.png index 545a5565a..7fc10c4e3 100644 Binary files a/docs/assets/screenshots/campaign-plan-review-desktop-dark.png and b/docs/assets/screenshots/campaign-plan-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-plan-review-desktop-light.png b/docs/assets/screenshots/campaign-plan-review-desktop-light.png index 639727534..ec7700ea8 100644 Binary files a/docs/assets/screenshots/campaign-plan-review-desktop-light.png and b/docs/assets/screenshots/campaign-plan-review-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-plan-review-mobile-dark.png b/docs/assets/screenshots/campaign-plan-review-mobile-dark.png index 9fdd21e95..7bc110a2b 100644 Binary files a/docs/assets/screenshots/campaign-plan-review-mobile-dark.png and b/docs/assets/screenshots/campaign-plan-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/campaign-plan-review-mobile-light.png b/docs/assets/screenshots/campaign-plan-review-mobile-light.png index a7b0c3a70..391f4ce2b 100644 Binary files a/docs/assets/screenshots/campaign-plan-review-mobile-light.png and b/docs/assets/screenshots/campaign-plan-review-mobile-light.png differ diff --git a/docs/assets/screenshots/campaign-plan-unresolved-desktop-dark.png b/docs/assets/screenshots/campaign-plan-unresolved-desktop-dark.png index 580e771b3..e148c00b6 100644 Binary files a/docs/assets/screenshots/campaign-plan-unresolved-desktop-dark.png and b/docs/assets/screenshots/campaign-plan-unresolved-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-plan-unresolved-desktop-light.png b/docs/assets/screenshots/campaign-plan-unresolved-desktop-light.png index 2c63b4d96..3a96f710d 100644 Binary files a/docs/assets/screenshots/campaign-plan-unresolved-desktop-light.png and b/docs/assets/screenshots/campaign-plan-unresolved-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-plan-unresolved-mobile-dark.png b/docs/assets/screenshots/campaign-plan-unresolved-mobile-dark.png index a3c22b187..a0f6892c3 100644 Binary files a/docs/assets/screenshots/campaign-plan-unresolved-mobile-dark.png and b/docs/assets/screenshots/campaign-plan-unresolved-mobile-dark.png differ diff --git a/docs/assets/screenshots/campaign-plan-unresolved-mobile-light.png b/docs/assets/screenshots/campaign-plan-unresolved-mobile-light.png index 1e62d046c..01ed719a0 100644 Binary files a/docs/assets/screenshots/campaign-plan-unresolved-mobile-light.png and b/docs/assets/screenshots/campaign-plan-unresolved-mobile-light.png differ diff --git a/docs/assets/screenshots/campaign-plan-waves-desktop-dark.png b/docs/assets/screenshots/campaign-plan-waves-desktop-dark.png index e513a94c8..8bced9a74 100644 Binary files a/docs/assets/screenshots/campaign-plan-waves-desktop-dark.png and b/docs/assets/screenshots/campaign-plan-waves-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-plan-waves-desktop-light.png b/docs/assets/screenshots/campaign-plan-waves-desktop-light.png index 040e88d16..a125921f4 100644 Binary files a/docs/assets/screenshots/campaign-plan-waves-desktop-light.png and b/docs/assets/screenshots/campaign-plan-waves-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-report-references-desktop-dark.png b/docs/assets/screenshots/campaign-report-references-desktop-dark.png index 84448a2dd..41e7fba9a 100644 Binary files a/docs/assets/screenshots/campaign-report-references-desktop-dark.png and b/docs/assets/screenshots/campaign-report-references-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-references-desktop-light.png b/docs/assets/screenshots/campaign-report-references-desktop-light.png index 0060bfba1..5cdb66e36 100644 Binary files a/docs/assets/screenshots/campaign-report-references-desktop-light.png and b/docs/assets/screenshots/campaign-report-references-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-report-references-mobile-dark.png b/docs/assets/screenshots/campaign-report-references-mobile-dark.png index 17c343371..8eb801d00 100644 Binary files a/docs/assets/screenshots/campaign-report-references-mobile-dark.png and b/docs/assets/screenshots/campaign-report-references-mobile-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-references-mobile-light.png b/docs/assets/screenshots/campaign-report-references-mobile-light.png index eef0a0e68..443607c84 100644 Binary files a/docs/assets/screenshots/campaign-report-references-mobile-light.png and b/docs/assets/screenshots/campaign-report-references-mobile-light.png differ diff --git a/docs/assets/screenshots/campaign-report-save-review-desktop-dark.png b/docs/assets/screenshots/campaign-report-save-review-desktop-dark.png index 98fec7ebc..ef9dd657e 100644 Binary files a/docs/assets/screenshots/campaign-report-save-review-desktop-dark.png and b/docs/assets/screenshots/campaign-report-save-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-save-review-desktop-light.png b/docs/assets/screenshots/campaign-report-save-review-desktop-light.png index 99571b764..46a9c050a 100644 Binary files a/docs/assets/screenshots/campaign-report-save-review-desktop-light.png and b/docs/assets/screenshots/campaign-report-save-review-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-report-save-review-mobile-dark.png b/docs/assets/screenshots/campaign-report-save-review-mobile-dark.png index 512e78f06..2efde1b84 100644 Binary files a/docs/assets/screenshots/campaign-report-save-review-mobile-dark.png and b/docs/assets/screenshots/campaign-report-save-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-save-review-mobile-light.png b/docs/assets/screenshots/campaign-report-save-review-mobile-light.png index 151722572..c8d1f0eb1 100644 Binary files a/docs/assets/screenshots/campaign-report-save-review-mobile-light.png and b/docs/assets/screenshots/campaign-report-save-review-mobile-light.png differ diff --git a/docs/assets/screenshots/campaign-report-save-unresolved-desktop-dark.png b/docs/assets/screenshots/campaign-report-save-unresolved-desktop-dark.png index f4e3a4bbf..3cee000c1 100644 Binary files a/docs/assets/screenshots/campaign-report-save-unresolved-desktop-dark.png and b/docs/assets/screenshots/campaign-report-save-unresolved-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-save-unresolved-desktop-light.png b/docs/assets/screenshots/campaign-report-save-unresolved-desktop-light.png index 513479af8..b54fe625e 100644 Binary files a/docs/assets/screenshots/campaign-report-save-unresolved-desktop-light.png and b/docs/assets/screenshots/campaign-report-save-unresolved-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-report-save-unresolved-mobile-dark.png b/docs/assets/screenshots/campaign-report-save-unresolved-mobile-dark.png index acee513ad..17ac4e5ba 100644 Binary files a/docs/assets/screenshots/campaign-report-save-unresolved-mobile-dark.png and b/docs/assets/screenshots/campaign-report-save-unresolved-mobile-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-save-unresolved-mobile-light.png b/docs/assets/screenshots/campaign-report-save-unresolved-mobile-light.png index 3cce9cbdb..a7d533b53 100644 Binary files a/docs/assets/screenshots/campaign-report-save-unresolved-mobile-light.png and b/docs/assets/screenshots/campaign-report-save-unresolved-mobile-light.png differ diff --git a/docs/assets/screenshots/campaign-report-saved-history-desktop-dark.png b/docs/assets/screenshots/campaign-report-saved-history-desktop-dark.png index 8d62fd57f..0f8cdaff2 100644 Binary files a/docs/assets/screenshots/campaign-report-saved-history-desktop-dark.png and b/docs/assets/screenshots/campaign-report-saved-history-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-saved-history-desktop-light.png b/docs/assets/screenshots/campaign-report-saved-history-desktop-light.png index aae1f06c5..ce32b3a48 100644 Binary files a/docs/assets/screenshots/campaign-report-saved-history-desktop-light.png and b/docs/assets/screenshots/campaign-report-saved-history-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-report-saved-history-mobile-dark.png b/docs/assets/screenshots/campaign-report-saved-history-mobile-dark.png index 05e3d2292..0ba3106d0 100644 Binary files a/docs/assets/screenshots/campaign-report-saved-history-mobile-dark.png and b/docs/assets/screenshots/campaign-report-saved-history-mobile-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-saved-history-mobile-light.png b/docs/assets/screenshots/campaign-report-saved-history-mobile-light.png index 1f9aa2b1c..86895e680 100644 Binary files a/docs/assets/screenshots/campaign-report-saved-history-mobile-light.png and b/docs/assets/screenshots/campaign-report-saved-history-mobile-light.png differ diff --git a/docs/assets/screenshots/campaign-report-saved-receipt-desktop-dark.png b/docs/assets/screenshots/campaign-report-saved-receipt-desktop-dark.png index 5030a3e3c..198d28159 100644 Binary files a/docs/assets/screenshots/campaign-report-saved-receipt-desktop-dark.png and b/docs/assets/screenshots/campaign-report-saved-receipt-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-saved-receipt-desktop-light.png b/docs/assets/screenshots/campaign-report-saved-receipt-desktop-light.png index 314268efd..2259d7c8e 100644 Binary files a/docs/assets/screenshots/campaign-report-saved-receipt-desktop-light.png and b/docs/assets/screenshots/campaign-report-saved-receipt-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-report-saved-receipt-mobile-dark.png b/docs/assets/screenshots/campaign-report-saved-receipt-mobile-dark.png index c40b014c3..3aee968de 100644 Binary files a/docs/assets/screenshots/campaign-report-saved-receipt-mobile-dark.png and b/docs/assets/screenshots/campaign-report-saved-receipt-mobile-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-saved-receipt-mobile-light.png b/docs/assets/screenshots/campaign-report-saved-receipt-mobile-light.png index 41ec49c85..d1710ad5f 100644 Binary files a/docs/assets/screenshots/campaign-report-saved-receipt-mobile-light.png and b/docs/assets/screenshots/campaign-report-saved-receipt-mobile-light.png differ diff --git a/docs/assets/screenshots/campaign-report-summary-desktop-dark.png b/docs/assets/screenshots/campaign-report-summary-desktop-dark.png index 9284ee749..75e3e1284 100644 Binary files a/docs/assets/screenshots/campaign-report-summary-desktop-dark.png and b/docs/assets/screenshots/campaign-report-summary-desktop-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-summary-desktop-light.png b/docs/assets/screenshots/campaign-report-summary-desktop-light.png index 8eccb3d34..e04d389e0 100644 Binary files a/docs/assets/screenshots/campaign-report-summary-desktop-light.png and b/docs/assets/screenshots/campaign-report-summary-desktop-light.png differ diff --git a/docs/assets/screenshots/campaign-report-summary-mobile-dark.png b/docs/assets/screenshots/campaign-report-summary-mobile-dark.png index 2efd0c017..f04a1ddb8 100644 Binary files a/docs/assets/screenshots/campaign-report-summary-mobile-dark.png and b/docs/assets/screenshots/campaign-report-summary-mobile-dark.png differ diff --git a/docs/assets/screenshots/campaign-report-summary-mobile-light.png b/docs/assets/screenshots/campaign-report-summary-mobile-light.png index b385a62e3..832abba6e 100644 Binary files a/docs/assets/screenshots/campaign-report-summary-mobile-light.png and b/docs/assets/screenshots/campaign-report-summary-mobile-light.png differ diff --git a/docs/assets/screenshots/coding-check-grant-desktop-dark.png b/docs/assets/screenshots/coding-check-grant-desktop-dark.png new file mode 100644 index 000000000..ef6d5eccb Binary files /dev/null and b/docs/assets/screenshots/coding-check-grant-desktop-dark.png differ diff --git a/docs/assets/screenshots/coding-check-grant-desktop-light.png b/docs/assets/screenshots/coding-check-grant-desktop-light.png new file mode 100644 index 000000000..3f4686f24 Binary files /dev/null and b/docs/assets/screenshots/coding-check-grant-desktop-light.png differ diff --git a/docs/assets/screenshots/coding-check-grant-mobile-dark.png b/docs/assets/screenshots/coding-check-grant-mobile-dark.png new file mode 100644 index 000000000..6d36281de Binary files /dev/null and b/docs/assets/screenshots/coding-check-grant-mobile-dark.png differ diff --git a/docs/assets/screenshots/coding-check-grant-mobile-light.png b/docs/assets/screenshots/coding-check-grant-mobile-light.png new file mode 100644 index 000000000..c02879654 Binary files /dev/null and b/docs/assets/screenshots/coding-check-grant-mobile-light.png differ diff --git a/docs/assets/screenshots/coding-check-mitigation-desktop-dark.png b/docs/assets/screenshots/coding-check-mitigation-desktop-dark.png new file mode 100644 index 000000000..670123e5a Binary files /dev/null and b/docs/assets/screenshots/coding-check-mitigation-desktop-dark.png differ diff --git a/docs/assets/screenshots/coding-check-mitigation-desktop-light.png b/docs/assets/screenshots/coding-check-mitigation-desktop-light.png new file mode 100644 index 000000000..e0c7379b1 Binary files /dev/null and b/docs/assets/screenshots/coding-check-mitigation-desktop-light.png differ diff --git a/docs/assets/screenshots/coding-check-mitigation-mobile-dark.png b/docs/assets/screenshots/coding-check-mitigation-mobile-dark.png new file mode 100644 index 000000000..eeb8e3989 Binary files /dev/null and b/docs/assets/screenshots/coding-check-mitigation-mobile-dark.png differ diff --git a/docs/assets/screenshots/coding-check-mitigation-mobile-light.png b/docs/assets/screenshots/coding-check-mitigation-mobile-light.png new file mode 100644 index 000000000..96d4323f5 Binary files /dev/null and b/docs/assets/screenshots/coding-check-mitigation-mobile-light.png differ diff --git a/docs/assets/screenshots/coding-check-reserved-desktop-dark.png b/docs/assets/screenshots/coding-check-reserved-desktop-dark.png new file mode 100644 index 000000000..d8e2aceb3 Binary files /dev/null and b/docs/assets/screenshots/coding-check-reserved-desktop-dark.png differ diff --git a/docs/assets/screenshots/coding-check-reserved-desktop-light.png b/docs/assets/screenshots/coding-check-reserved-desktop-light.png new file mode 100644 index 000000000..742dea231 Binary files /dev/null and b/docs/assets/screenshots/coding-check-reserved-desktop-light.png differ diff --git a/docs/assets/screenshots/coding-check-reserved-mobile-dark.png b/docs/assets/screenshots/coding-check-reserved-mobile-dark.png new file mode 100644 index 000000000..9065f7e41 Binary files /dev/null and b/docs/assets/screenshots/coding-check-reserved-mobile-dark.png differ diff --git a/docs/assets/screenshots/coding-check-reserved-mobile-light.png b/docs/assets/screenshots/coding-check-reserved-mobile-light.png new file mode 100644 index 000000000..38aa5560a Binary files /dev/null and b/docs/assets/screenshots/coding-check-reserved-mobile-light.png differ diff --git a/docs/assets/screenshots/coding-check-review-desktop-dark.png b/docs/assets/screenshots/coding-check-review-desktop-dark.png new file mode 100644 index 000000000..7a86beee9 Binary files /dev/null and b/docs/assets/screenshots/coding-check-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/coding-check-review-desktop-light.png b/docs/assets/screenshots/coding-check-review-desktop-light.png new file mode 100644 index 000000000..602298783 Binary files /dev/null and b/docs/assets/screenshots/coding-check-review-desktop-light.png differ diff --git a/docs/assets/screenshots/coding-check-review-mobile-dark.png b/docs/assets/screenshots/coding-check-review-mobile-dark.png new file mode 100644 index 000000000..d5c2220ca Binary files /dev/null and b/docs/assets/screenshots/coding-check-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/coding-check-review-mobile-light.png b/docs/assets/screenshots/coding-check-review-mobile-light.png new file mode 100644 index 000000000..bda5728cd Binary files /dev/null and b/docs/assets/screenshots/coding-check-review-mobile-light.png differ diff --git a/docs/assets/screenshots/coding-check-scope-desktop-dark.png b/docs/assets/screenshots/coding-check-scope-desktop-dark.png new file mode 100644 index 000000000..4ba3eea47 Binary files /dev/null and b/docs/assets/screenshots/coding-check-scope-desktop-dark.png differ diff --git a/docs/assets/screenshots/coding-check-scope-desktop-light.png b/docs/assets/screenshots/coding-check-scope-desktop-light.png new file mode 100644 index 000000000..8ead62bcb Binary files /dev/null and b/docs/assets/screenshots/coding-check-scope-desktop-light.png differ diff --git a/docs/assets/screenshots/coding-check-scope-mobile-dark.png b/docs/assets/screenshots/coding-check-scope-mobile-dark.png new file mode 100644 index 000000000..ff543f9cc Binary files /dev/null and b/docs/assets/screenshots/coding-check-scope-mobile-dark.png differ diff --git a/docs/assets/screenshots/coding-check-scope-mobile-light.png b/docs/assets/screenshots/coding-check-scope-mobile-light.png new file mode 100644 index 000000000..aa003aaee Binary files /dev/null and b/docs/assets/screenshots/coding-check-scope-mobile-light.png differ diff --git a/docs/assets/screenshots/connect-coding-ai-desktop-dark.png b/docs/assets/screenshots/connect-coding-ai-desktop-dark.png index 0ad868913..e7010485e 100644 Binary files a/docs/assets/screenshots/connect-coding-ai-desktop-dark.png and b/docs/assets/screenshots/connect-coding-ai-desktop-dark.png differ diff --git a/docs/assets/screenshots/connect-coding-ai-desktop-light.png b/docs/assets/screenshots/connect-coding-ai-desktop-light.png index 49717ad5e..c35dcafd9 100644 Binary files a/docs/assets/screenshots/connect-coding-ai-desktop-light.png and b/docs/assets/screenshots/connect-coding-ai-desktop-light.png differ diff --git a/docs/assets/screenshots/connect-coding-ai-mobile-dark.png b/docs/assets/screenshots/connect-coding-ai-mobile-dark.png index f9f60130d..da1e2d30f 100644 Binary files a/docs/assets/screenshots/connect-coding-ai-mobile-dark.png and b/docs/assets/screenshots/connect-coding-ai-mobile-dark.png differ diff --git a/docs/assets/screenshots/connect-coding-ai-mobile-light.png b/docs/assets/screenshots/connect-coding-ai-mobile-light.png index f33a44a86..656d04ba6 100644 Binary files a/docs/assets/screenshots/connect-coding-ai-mobile-light.png and b/docs/assets/screenshots/connect-coding-ai-mobile-light.png differ diff --git a/docs/assets/screenshots/connect-knowledge-desktop-dark.png b/docs/assets/screenshots/connect-knowledge-desktop-dark.png index 58a30873d..1d33e87e5 100644 Binary files a/docs/assets/screenshots/connect-knowledge-desktop-dark.png and b/docs/assets/screenshots/connect-knowledge-desktop-dark.png differ diff --git a/docs/assets/screenshots/connect-knowledge-desktop-light.png b/docs/assets/screenshots/connect-knowledge-desktop-light.png index f071f642c..eb5f23e2c 100644 Binary files a/docs/assets/screenshots/connect-knowledge-desktop-light.png and b/docs/assets/screenshots/connect-knowledge-desktop-light.png differ diff --git a/docs/assets/screenshots/connect-knowledge-mobile-dark.png b/docs/assets/screenshots/connect-knowledge-mobile-dark.png index c8c99e0ce..d283cd3c5 100644 Binary files a/docs/assets/screenshots/connect-knowledge-mobile-dark.png and b/docs/assets/screenshots/connect-knowledge-mobile-dark.png differ diff --git a/docs/assets/screenshots/connect-knowledge-mobile-light.png b/docs/assets/screenshots/connect-knowledge-mobile-light.png index a2f92a6b2..96d076f11 100644 Binary files a/docs/assets/screenshots/connect-knowledge-mobile-light.png and b/docs/assets/screenshots/connect-knowledge-mobile-light.png differ diff --git a/docs/assets/screenshots/connect-repositories-desktop-dark.png b/docs/assets/screenshots/connect-repositories-desktop-dark.png index 058c4019b..e63114a95 100644 Binary files a/docs/assets/screenshots/connect-repositories-desktop-dark.png and b/docs/assets/screenshots/connect-repositories-desktop-dark.png differ diff --git a/docs/assets/screenshots/connect-repositories-desktop-light.png b/docs/assets/screenshots/connect-repositories-desktop-light.png index 48a8010a4..e503f9b21 100644 Binary files a/docs/assets/screenshots/connect-repositories-desktop-light.png and b/docs/assets/screenshots/connect-repositories-desktop-light.png differ diff --git a/docs/assets/screenshots/connect-repositories-mobile-dark.png b/docs/assets/screenshots/connect-repositories-mobile-dark.png index cda4272b6..f156b08bd 100644 Binary files a/docs/assets/screenshots/connect-repositories-mobile-dark.png and b/docs/assets/screenshots/connect-repositories-mobile-dark.png differ diff --git a/docs/assets/screenshots/connect-repositories-mobile-light.png b/docs/assets/screenshots/connect-repositories-mobile-light.png index 28785b88c..ce533f58a 100644 Binary files a/docs/assets/screenshots/connect-repositories-mobile-light.png and b/docs/assets/screenshots/connect-repositories-mobile-light.png differ diff --git a/docs/assets/screenshots/connect-workspace-desktop-dark.png b/docs/assets/screenshots/connect-workspace-desktop-dark.png index 4800b1c36..5346bb03e 100644 Binary files a/docs/assets/screenshots/connect-workspace-desktop-dark.png and b/docs/assets/screenshots/connect-workspace-desktop-dark.png differ diff --git a/docs/assets/screenshots/connect-workspace-desktop-light.png b/docs/assets/screenshots/connect-workspace-desktop-light.png index 5d056f934..bd8520aa1 100644 Binary files a/docs/assets/screenshots/connect-workspace-desktop-light.png and b/docs/assets/screenshots/connect-workspace-desktop-light.png differ diff --git a/docs/assets/screenshots/connect-workspace-mobile-dark.png b/docs/assets/screenshots/connect-workspace-mobile-dark.png index a7bf91214..dbce03b18 100644 Binary files a/docs/assets/screenshots/connect-workspace-mobile-dark.png and b/docs/assets/screenshots/connect-workspace-mobile-dark.png differ diff --git a/docs/assets/screenshots/connect-workspace-mobile-light.png b/docs/assets/screenshots/connect-workspace-mobile-light.png index dc2c2bb8f..b3628e9b1 100644 Binary files a/docs/assets/screenshots/connect-workspace-mobile-light.png and b/docs/assets/screenshots/connect-workspace-mobile-light.png differ diff --git a/docs/assets/screenshots/evidence-artifacts-desktop-dark.png b/docs/assets/screenshots/evidence-artifacts-desktop-dark.png index 3493bc12f..10ca91e20 100644 Binary files a/docs/assets/screenshots/evidence-artifacts-desktop-dark.png and b/docs/assets/screenshots/evidence-artifacts-desktop-dark.png differ diff --git a/docs/assets/screenshots/evidence-artifacts-desktop-light.png b/docs/assets/screenshots/evidence-artifacts-desktop-light.png index d38eb9fbd..6ce2c46c6 100644 Binary files a/docs/assets/screenshots/evidence-artifacts-desktop-light.png and b/docs/assets/screenshots/evidence-artifacts-desktop-light.png differ diff --git a/docs/assets/screenshots/evidence-artifacts-mobile-dark.png b/docs/assets/screenshots/evidence-artifacts-mobile-dark.png index bf4641b44..d240ba069 100644 Binary files a/docs/assets/screenshots/evidence-artifacts-mobile-dark.png and b/docs/assets/screenshots/evidence-artifacts-mobile-dark.png differ diff --git a/docs/assets/screenshots/evidence-artifacts-mobile-light.png b/docs/assets/screenshots/evidence-artifacts-mobile-light.png index 72915e490..379f25ade 100644 Binary files a/docs/assets/screenshots/evidence-artifacts-mobile-light.png and b/docs/assets/screenshots/evidence-artifacts-mobile-light.png differ diff --git a/docs/assets/screenshots/evidence-changes-desktop-dark.png b/docs/assets/screenshots/evidence-changes-desktop-dark.png index 55363f504..66fb919c3 100644 Binary files a/docs/assets/screenshots/evidence-changes-desktop-dark.png and b/docs/assets/screenshots/evidence-changes-desktop-dark.png differ diff --git a/docs/assets/screenshots/evidence-changes-desktop-light.png b/docs/assets/screenshots/evidence-changes-desktop-light.png index 1b9f5028b..b8283aeb1 100644 Binary files a/docs/assets/screenshots/evidence-changes-desktop-light.png and b/docs/assets/screenshots/evidence-changes-desktop-light.png differ diff --git a/docs/assets/screenshots/evidence-changes-mobile-dark.png b/docs/assets/screenshots/evidence-changes-mobile-dark.png index fdc6a989b..8ebc9b8aa 100644 Binary files a/docs/assets/screenshots/evidence-changes-mobile-dark.png and b/docs/assets/screenshots/evidence-changes-mobile-dark.png differ diff --git a/docs/assets/screenshots/evidence-changes-mobile-light.png b/docs/assets/screenshots/evidence-changes-mobile-light.png index dfd21ef59..5545325cb 100644 Binary files a/docs/assets/screenshots/evidence-changes-mobile-light.png and b/docs/assets/screenshots/evidence-changes-mobile-light.png differ diff --git a/docs/assets/screenshots/evidence-plan-desktop-dark.png b/docs/assets/screenshots/evidence-plan-desktop-dark.png index 85d019811..ec7c2a291 100644 Binary files a/docs/assets/screenshots/evidence-plan-desktop-dark.png and b/docs/assets/screenshots/evidence-plan-desktop-dark.png differ diff --git a/docs/assets/screenshots/evidence-plan-desktop-light.png b/docs/assets/screenshots/evidence-plan-desktop-light.png index e3f133914..d9b1b6ce3 100644 Binary files a/docs/assets/screenshots/evidence-plan-desktop-light.png and b/docs/assets/screenshots/evidence-plan-desktop-light.png differ diff --git a/docs/assets/screenshots/evidence-plan-mobile-dark.png b/docs/assets/screenshots/evidence-plan-mobile-dark.png index 1b376ea27..e83e34d1c 100644 Binary files a/docs/assets/screenshots/evidence-plan-mobile-dark.png and b/docs/assets/screenshots/evidence-plan-mobile-dark.png differ diff --git a/docs/assets/screenshots/evidence-plan-mobile-light.png b/docs/assets/screenshots/evidence-plan-mobile-light.png index 1a3336267..81c07312a 100644 Binary files a/docs/assets/screenshots/evidence-plan-mobile-light.png and b/docs/assets/screenshots/evidence-plan-mobile-light.png differ diff --git a/docs/assets/screenshots/evidence-verification-desktop-dark.png b/docs/assets/screenshots/evidence-verification-desktop-dark.png index 50449ad04..b9b94c0cf 100644 Binary files a/docs/assets/screenshots/evidence-verification-desktop-dark.png and b/docs/assets/screenshots/evidence-verification-desktop-dark.png differ diff --git a/docs/assets/screenshots/evidence-verification-desktop-light.png b/docs/assets/screenshots/evidence-verification-desktop-light.png index fd2e16197..282e9b8ba 100644 Binary files a/docs/assets/screenshots/evidence-verification-desktop-light.png and b/docs/assets/screenshots/evidence-verification-desktop-light.png differ diff --git a/docs/assets/screenshots/evidence-verification-mobile-dark.png b/docs/assets/screenshots/evidence-verification-mobile-dark.png index f12fa832b..0bd0791c5 100644 Binary files a/docs/assets/screenshots/evidence-verification-mobile-dark.png and b/docs/assets/screenshots/evidence-verification-mobile-dark.png differ diff --git a/docs/assets/screenshots/evidence-verification-mobile-light.png b/docs/assets/screenshots/evidence-verification-mobile-light.png index 5cb8e4e6a..e028fa4cc 100644 Binary files a/docs/assets/screenshots/evidence-verification-mobile-light.png and b/docs/assets/screenshots/evidence-verification-mobile-light.png differ diff --git a/docs/assets/screenshots/external-catalog-desktop-dark.png b/docs/assets/screenshots/external-catalog-desktop-dark.png index 145af17d8..67e46470c 100644 Binary files a/docs/assets/screenshots/external-catalog-desktop-dark.png and b/docs/assets/screenshots/external-catalog-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-catalog-desktop-light.png b/docs/assets/screenshots/external-catalog-desktop-light.png index d3ef00207..07ebe1815 100644 Binary files a/docs/assets/screenshots/external-catalog-desktop-light.png and b/docs/assets/screenshots/external-catalog-desktop-light.png differ diff --git a/docs/assets/screenshots/external-catalog-mobile-dark.png b/docs/assets/screenshots/external-catalog-mobile-dark.png index 0c34fc09b..0b4372e79 100644 Binary files a/docs/assets/screenshots/external-catalog-mobile-dark.png and b/docs/assets/screenshots/external-catalog-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-catalog-mobile-light.png b/docs/assets/screenshots/external-catalog-mobile-light.png index e9902c57b..5b96aba43 100644 Binary files a/docs/assets/screenshots/external-catalog-mobile-light.png and b/docs/assets/screenshots/external-catalog-mobile-light.png differ diff --git a/docs/assets/screenshots/external-connection-desktop-dark.png b/docs/assets/screenshots/external-connection-desktop-dark.png index 7fa94faa8..166cdf2be 100644 Binary files a/docs/assets/screenshots/external-connection-desktop-dark.png and b/docs/assets/screenshots/external-connection-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-connection-desktop-light.png b/docs/assets/screenshots/external-connection-desktop-light.png index ab6b6a613..2f5ba5bbd 100644 Binary files a/docs/assets/screenshots/external-connection-desktop-light.png and b/docs/assets/screenshots/external-connection-desktop-light.png differ diff --git a/docs/assets/screenshots/external-connection-mobile-dark.png b/docs/assets/screenshots/external-connection-mobile-dark.png index 8e395c741..7901c1235 100644 Binary files a/docs/assets/screenshots/external-connection-mobile-dark.png and b/docs/assets/screenshots/external-connection-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-connection-mobile-light.png b/docs/assets/screenshots/external-connection-mobile-light.png index d8b904445..41ccb8881 100644 Binary files a/docs/assets/screenshots/external-connection-mobile-light.png and b/docs/assets/screenshots/external-connection-mobile-light.png differ diff --git a/docs/assets/screenshots/external-discovery-desktop-dark.png b/docs/assets/screenshots/external-discovery-desktop-dark.png index 34c7417b1..00b681011 100644 Binary files a/docs/assets/screenshots/external-discovery-desktop-dark.png and b/docs/assets/screenshots/external-discovery-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-discovery-desktop-light.png b/docs/assets/screenshots/external-discovery-desktop-light.png index bb67be0a0..deadfb6d9 100644 Binary files a/docs/assets/screenshots/external-discovery-desktop-light.png and b/docs/assets/screenshots/external-discovery-desktop-light.png differ diff --git a/docs/assets/screenshots/external-discovery-mobile-dark.png b/docs/assets/screenshots/external-discovery-mobile-dark.png index 3744ac659..d9e2eb768 100644 Binary files a/docs/assets/screenshots/external-discovery-mobile-dark.png and b/docs/assets/screenshots/external-discovery-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-discovery-mobile-light.png b/docs/assets/screenshots/external-discovery-mobile-light.png index 7236ad5d6..f36d252ef 100644 Binary files a/docs/assets/screenshots/external-discovery-mobile-light.png and b/docs/assets/screenshots/external-discovery-mobile-light.png differ diff --git a/docs/assets/screenshots/external-figma-account-scope-desktop-dark.png b/docs/assets/screenshots/external-figma-account-scope-desktop-dark.png index 02ffbe27d..66bc9373e 100644 Binary files a/docs/assets/screenshots/external-figma-account-scope-desktop-dark.png and b/docs/assets/screenshots/external-figma-account-scope-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-figma-account-scope-desktop-light.png b/docs/assets/screenshots/external-figma-account-scope-desktop-light.png index 0c545b0aa..16e9221eb 100644 Binary files a/docs/assets/screenshots/external-figma-account-scope-desktop-light.png and b/docs/assets/screenshots/external-figma-account-scope-desktop-light.png differ diff --git a/docs/assets/screenshots/external-figma-account-scope-detail-desktop-dark.png b/docs/assets/screenshots/external-figma-account-scope-detail-desktop-dark.png index 4f20c3b76..6303f362e 100644 Binary files a/docs/assets/screenshots/external-figma-account-scope-detail-desktop-dark.png and b/docs/assets/screenshots/external-figma-account-scope-detail-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-figma-account-scope-detail-desktop-light.png b/docs/assets/screenshots/external-figma-account-scope-detail-desktop-light.png index 06cb2d404..401de6701 100644 Binary files a/docs/assets/screenshots/external-figma-account-scope-detail-desktop-light.png and b/docs/assets/screenshots/external-figma-account-scope-detail-desktop-light.png differ diff --git a/docs/assets/screenshots/external-figma-account-scope-detail-mobile-dark.png b/docs/assets/screenshots/external-figma-account-scope-detail-mobile-dark.png index 33cd30ae0..b71f205a9 100644 Binary files a/docs/assets/screenshots/external-figma-account-scope-detail-mobile-dark.png and b/docs/assets/screenshots/external-figma-account-scope-detail-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-figma-account-scope-detail-mobile-light.png b/docs/assets/screenshots/external-figma-account-scope-detail-mobile-light.png index 4fa51ce5e..63e23bc04 100644 Binary files a/docs/assets/screenshots/external-figma-account-scope-detail-mobile-light.png and b/docs/assets/screenshots/external-figma-account-scope-detail-mobile-light.png differ diff --git a/docs/assets/screenshots/external-figma-account-scope-mobile-dark.png b/docs/assets/screenshots/external-figma-account-scope-mobile-dark.png index 658ecd476..2daea834a 100644 Binary files a/docs/assets/screenshots/external-figma-account-scope-mobile-dark.png and b/docs/assets/screenshots/external-figma-account-scope-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-figma-account-scope-mobile-light.png b/docs/assets/screenshots/external-figma-account-scope-mobile-light.png index 8d2a0f942..c6faacedb 100644 Binary files a/docs/assets/screenshots/external-figma-account-scope-mobile-light.png and b/docs/assets/screenshots/external-figma-account-scope-mobile-light.png differ diff --git a/docs/assets/screenshots/external-figma-availability-desktop-dark.png b/docs/assets/screenshots/external-figma-availability-desktop-dark.png index 0065287ba..6c7f8d19d 100644 Binary files a/docs/assets/screenshots/external-figma-availability-desktop-dark.png and b/docs/assets/screenshots/external-figma-availability-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-figma-availability-desktop-light.png b/docs/assets/screenshots/external-figma-availability-desktop-light.png index 8238b1e04..7b1536871 100644 Binary files a/docs/assets/screenshots/external-figma-availability-desktop-light.png and b/docs/assets/screenshots/external-figma-availability-desktop-light.png differ diff --git a/docs/assets/screenshots/external-figma-availability-mobile-dark.png b/docs/assets/screenshots/external-figma-availability-mobile-dark.png index 035fc3362..a78dca535 100644 Binary files a/docs/assets/screenshots/external-figma-availability-mobile-dark.png and b/docs/assets/screenshots/external-figma-availability-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-figma-availability-mobile-light.png b/docs/assets/screenshots/external-figma-availability-mobile-light.png index e314aed81..a151f4d3f 100644 Binary files a/docs/assets/screenshots/external-figma-availability-mobile-light.png and b/docs/assets/screenshots/external-figma-availability-mobile-light.png differ diff --git a/docs/assets/screenshots/external-figma-factory-setup-desktop-dark.png b/docs/assets/screenshots/external-figma-factory-setup-desktop-dark.png index 472afd9e6..ad36bc44c 100644 Binary files a/docs/assets/screenshots/external-figma-factory-setup-desktop-dark.png and b/docs/assets/screenshots/external-figma-factory-setup-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-figma-factory-setup-desktop-light.png b/docs/assets/screenshots/external-figma-factory-setup-desktop-light.png index 314d8dc32..637076fbf 100644 Binary files a/docs/assets/screenshots/external-figma-factory-setup-desktop-light.png and b/docs/assets/screenshots/external-figma-factory-setup-desktop-light.png differ diff --git a/docs/assets/screenshots/external-figma-factory-setup-mobile-dark.png b/docs/assets/screenshots/external-figma-factory-setup-mobile-dark.png index a6edf4bf3..78afaaa32 100644 Binary files a/docs/assets/screenshots/external-figma-factory-setup-mobile-dark.png and b/docs/assets/screenshots/external-figma-factory-setup-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-figma-factory-setup-mobile-light.png b/docs/assets/screenshots/external-figma-factory-setup-mobile-light.png index 7e91b94da..42535ce91 100644 Binary files a/docs/assets/screenshots/external-figma-factory-setup-mobile-light.png and b/docs/assets/screenshots/external-figma-factory-setup-mobile-light.png differ diff --git a/docs/assets/screenshots/external-figma-requirements-desktop-dark.png b/docs/assets/screenshots/external-figma-requirements-desktop-dark.png index 98fe1f78e..c1c8d7563 100644 Binary files a/docs/assets/screenshots/external-figma-requirements-desktop-dark.png and b/docs/assets/screenshots/external-figma-requirements-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-figma-requirements-desktop-light.png b/docs/assets/screenshots/external-figma-requirements-desktop-light.png index d4502fc22..a5655c00a 100644 Binary files a/docs/assets/screenshots/external-figma-requirements-desktop-light.png and b/docs/assets/screenshots/external-figma-requirements-desktop-light.png differ diff --git a/docs/assets/screenshots/external-figma-requirements-mobile-dark.png b/docs/assets/screenshots/external-figma-requirements-mobile-dark.png index 01d110953..2bf64284c 100644 Binary files a/docs/assets/screenshots/external-figma-requirements-mobile-dark.png and b/docs/assets/screenshots/external-figma-requirements-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-figma-requirements-mobile-light.png b/docs/assets/screenshots/external-figma-requirements-mobile-light.png index b978f5ab5..c25f0a196 100644 Binary files a/docs/assets/screenshots/external-figma-requirements-mobile-light.png and b/docs/assets/screenshots/external-figma-requirements-mobile-light.png differ diff --git a/docs/assets/screenshots/external-grafana-account-scope-desktop-dark.png b/docs/assets/screenshots/external-grafana-account-scope-desktop-dark.png index 3a35ecd75..d25e69b84 100644 Binary files a/docs/assets/screenshots/external-grafana-account-scope-desktop-dark.png and b/docs/assets/screenshots/external-grafana-account-scope-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-account-scope-desktop-light.png b/docs/assets/screenshots/external-grafana-account-scope-desktop-light.png index bdac37bc2..2ca6058a1 100644 Binary files a/docs/assets/screenshots/external-grafana-account-scope-desktop-light.png and b/docs/assets/screenshots/external-grafana-account-scope-desktop-light.png differ diff --git a/docs/assets/screenshots/external-grafana-account-scope-detail-desktop-dark.png b/docs/assets/screenshots/external-grafana-account-scope-detail-desktop-dark.png index ea6a9fd50..53a52e361 100644 Binary files a/docs/assets/screenshots/external-grafana-account-scope-detail-desktop-dark.png and b/docs/assets/screenshots/external-grafana-account-scope-detail-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-account-scope-detail-desktop-light.png b/docs/assets/screenshots/external-grafana-account-scope-detail-desktop-light.png index 535c454bf..e9ae162a3 100644 Binary files a/docs/assets/screenshots/external-grafana-account-scope-detail-desktop-light.png and b/docs/assets/screenshots/external-grafana-account-scope-detail-desktop-light.png differ diff --git a/docs/assets/screenshots/external-grafana-account-scope-detail-mobile-dark.png b/docs/assets/screenshots/external-grafana-account-scope-detail-mobile-dark.png index a17bd75fd..fa3df61f9 100644 Binary files a/docs/assets/screenshots/external-grafana-account-scope-detail-mobile-dark.png and b/docs/assets/screenshots/external-grafana-account-scope-detail-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-account-scope-detail-mobile-light.png b/docs/assets/screenshots/external-grafana-account-scope-detail-mobile-light.png index 75ab99724..1885d6d02 100644 Binary files a/docs/assets/screenshots/external-grafana-account-scope-detail-mobile-light.png and b/docs/assets/screenshots/external-grafana-account-scope-detail-mobile-light.png differ diff --git a/docs/assets/screenshots/external-grafana-account-scope-mobile-dark.png b/docs/assets/screenshots/external-grafana-account-scope-mobile-dark.png index 2a0c7282e..cabb78023 100644 Binary files a/docs/assets/screenshots/external-grafana-account-scope-mobile-dark.png and b/docs/assets/screenshots/external-grafana-account-scope-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-account-scope-mobile-light.png b/docs/assets/screenshots/external-grafana-account-scope-mobile-light.png index 3e73fee71..c472f614d 100644 Binary files a/docs/assets/screenshots/external-grafana-account-scope-mobile-light.png and b/docs/assets/screenshots/external-grafana-account-scope-mobile-light.png differ diff --git a/docs/assets/screenshots/external-grafana-availability-desktop-dark.png b/docs/assets/screenshots/external-grafana-availability-desktop-dark.png index 2244073e1..50e919ae5 100644 Binary files a/docs/assets/screenshots/external-grafana-availability-desktop-dark.png and b/docs/assets/screenshots/external-grafana-availability-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-availability-desktop-light.png b/docs/assets/screenshots/external-grafana-availability-desktop-light.png index ae08c0827..055344ea0 100644 Binary files a/docs/assets/screenshots/external-grafana-availability-desktop-light.png and b/docs/assets/screenshots/external-grafana-availability-desktop-light.png differ diff --git a/docs/assets/screenshots/external-grafana-availability-mobile-dark.png b/docs/assets/screenshots/external-grafana-availability-mobile-dark.png index c7dd2e2d7..052b0d947 100644 Binary files a/docs/assets/screenshots/external-grafana-availability-mobile-dark.png and b/docs/assets/screenshots/external-grafana-availability-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-availability-mobile-light.png b/docs/assets/screenshots/external-grafana-availability-mobile-light.png index 0d0095b2f..bff40cb8e 100644 Binary files a/docs/assets/screenshots/external-grafana-availability-mobile-light.png and b/docs/assets/screenshots/external-grafana-availability-mobile-light.png differ diff --git a/docs/assets/screenshots/external-grafana-factory-setup-desktop-dark.png b/docs/assets/screenshots/external-grafana-factory-setup-desktop-dark.png index cdd654b5b..71b9491b8 100644 Binary files a/docs/assets/screenshots/external-grafana-factory-setup-desktop-dark.png and b/docs/assets/screenshots/external-grafana-factory-setup-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-factory-setup-desktop-light.png b/docs/assets/screenshots/external-grafana-factory-setup-desktop-light.png index af70dc16f..34f789170 100644 Binary files a/docs/assets/screenshots/external-grafana-factory-setup-desktop-light.png and b/docs/assets/screenshots/external-grafana-factory-setup-desktop-light.png differ diff --git a/docs/assets/screenshots/external-grafana-factory-setup-mobile-dark.png b/docs/assets/screenshots/external-grafana-factory-setup-mobile-dark.png index b1f1a433e..bcff21022 100644 Binary files a/docs/assets/screenshots/external-grafana-factory-setup-mobile-dark.png and b/docs/assets/screenshots/external-grafana-factory-setup-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-factory-setup-mobile-light.png b/docs/assets/screenshots/external-grafana-factory-setup-mobile-light.png index b84cf4b5f..97c304894 100644 Binary files a/docs/assets/screenshots/external-grafana-factory-setup-mobile-light.png and b/docs/assets/screenshots/external-grafana-factory-setup-mobile-light.png differ diff --git a/docs/assets/screenshots/external-grafana-requirements-desktop-dark.png b/docs/assets/screenshots/external-grafana-requirements-desktop-dark.png index b27ffc9ca..4073c4521 100644 Binary files a/docs/assets/screenshots/external-grafana-requirements-desktop-dark.png and b/docs/assets/screenshots/external-grafana-requirements-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-requirements-desktop-light.png b/docs/assets/screenshots/external-grafana-requirements-desktop-light.png index 3a82d37a3..c34496a2c 100644 Binary files a/docs/assets/screenshots/external-grafana-requirements-desktop-light.png and b/docs/assets/screenshots/external-grafana-requirements-desktop-light.png differ diff --git a/docs/assets/screenshots/external-grafana-requirements-mobile-dark.png b/docs/assets/screenshots/external-grafana-requirements-mobile-dark.png index f0a4497da..0d74a74ee 100644 Binary files a/docs/assets/screenshots/external-grafana-requirements-mobile-dark.png and b/docs/assets/screenshots/external-grafana-requirements-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-grafana-requirements-mobile-light.png b/docs/assets/screenshots/external-grafana-requirements-mobile-light.png index fd0cd26ca..11fb8d4d3 100644 Binary files a/docs/assets/screenshots/external-grafana-requirements-mobile-light.png and b/docs/assets/screenshots/external-grafana-requirements-mobile-light.png differ diff --git a/docs/assets/screenshots/external-granted-desktop-dark.png b/docs/assets/screenshots/external-granted-desktop-dark.png index 29d91dfbd..8c701e3a3 100644 Binary files a/docs/assets/screenshots/external-granted-desktop-dark.png and b/docs/assets/screenshots/external-granted-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-granted-desktop-light.png b/docs/assets/screenshots/external-granted-desktop-light.png index 1a9e1188a..fbbb979de 100644 Binary files a/docs/assets/screenshots/external-granted-desktop-light.png and b/docs/assets/screenshots/external-granted-desktop-light.png differ diff --git a/docs/assets/screenshots/external-granted-mobile-dark.png b/docs/assets/screenshots/external-granted-mobile-dark.png index 4646d5ec0..800bcc7ac 100644 Binary files a/docs/assets/screenshots/external-granted-mobile-dark.png and b/docs/assets/screenshots/external-granted-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-granted-mobile-light.png b/docs/assets/screenshots/external-granted-mobile-light.png index c4619728a..f9b1ec73c 100644 Binary files a/docs/assets/screenshots/external-granted-mobile-light.png and b/docs/assets/screenshots/external-granted-mobile-light.png differ diff --git a/docs/assets/screenshots/external-playwright-account-scope-desktop-dark.png b/docs/assets/screenshots/external-playwright-account-scope-desktop-dark.png index 9394abe5f..c5c218367 100644 Binary files a/docs/assets/screenshots/external-playwright-account-scope-desktop-dark.png and b/docs/assets/screenshots/external-playwright-account-scope-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-account-scope-desktop-light.png b/docs/assets/screenshots/external-playwright-account-scope-desktop-light.png index 2c13160ed..50fb22933 100644 Binary files a/docs/assets/screenshots/external-playwright-account-scope-desktop-light.png and b/docs/assets/screenshots/external-playwright-account-scope-desktop-light.png differ diff --git a/docs/assets/screenshots/external-playwright-account-scope-detail-desktop-dark.png b/docs/assets/screenshots/external-playwright-account-scope-detail-desktop-dark.png index 336a65c80..e14812f36 100644 Binary files a/docs/assets/screenshots/external-playwright-account-scope-detail-desktop-dark.png and b/docs/assets/screenshots/external-playwright-account-scope-detail-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-account-scope-detail-desktop-light.png b/docs/assets/screenshots/external-playwright-account-scope-detail-desktop-light.png index 3e0237746..7c9f32090 100644 Binary files a/docs/assets/screenshots/external-playwright-account-scope-detail-desktop-light.png and b/docs/assets/screenshots/external-playwright-account-scope-detail-desktop-light.png differ diff --git a/docs/assets/screenshots/external-playwright-account-scope-detail-mobile-dark.png b/docs/assets/screenshots/external-playwright-account-scope-detail-mobile-dark.png index 496f61621..ed42c19eb 100644 Binary files a/docs/assets/screenshots/external-playwright-account-scope-detail-mobile-dark.png and b/docs/assets/screenshots/external-playwright-account-scope-detail-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-account-scope-detail-mobile-light.png b/docs/assets/screenshots/external-playwright-account-scope-detail-mobile-light.png index 9c18b2bdc..8eadfe209 100644 Binary files a/docs/assets/screenshots/external-playwright-account-scope-detail-mobile-light.png and b/docs/assets/screenshots/external-playwright-account-scope-detail-mobile-light.png differ diff --git a/docs/assets/screenshots/external-playwright-account-scope-mobile-dark.png b/docs/assets/screenshots/external-playwright-account-scope-mobile-dark.png index a2aba6ca3..7f1ab57ea 100644 Binary files a/docs/assets/screenshots/external-playwright-account-scope-mobile-dark.png and b/docs/assets/screenshots/external-playwright-account-scope-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-account-scope-mobile-light.png b/docs/assets/screenshots/external-playwright-account-scope-mobile-light.png index 70bc1a0e0..cbc97d42a 100644 Binary files a/docs/assets/screenshots/external-playwright-account-scope-mobile-light.png and b/docs/assets/screenshots/external-playwright-account-scope-mobile-light.png differ diff --git a/docs/assets/screenshots/external-playwright-availability-desktop-dark.png b/docs/assets/screenshots/external-playwright-availability-desktop-dark.png index d7dfde41f..f22e8dac9 100644 Binary files a/docs/assets/screenshots/external-playwright-availability-desktop-dark.png and b/docs/assets/screenshots/external-playwright-availability-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-availability-desktop-light.png b/docs/assets/screenshots/external-playwright-availability-desktop-light.png index 4121a8812..7ab836f75 100644 Binary files a/docs/assets/screenshots/external-playwright-availability-desktop-light.png and b/docs/assets/screenshots/external-playwright-availability-desktop-light.png differ diff --git a/docs/assets/screenshots/external-playwright-availability-mobile-dark.png b/docs/assets/screenshots/external-playwright-availability-mobile-dark.png index 88c2391ca..1e2521c00 100644 Binary files a/docs/assets/screenshots/external-playwright-availability-mobile-dark.png and b/docs/assets/screenshots/external-playwright-availability-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-availability-mobile-light.png b/docs/assets/screenshots/external-playwright-availability-mobile-light.png index f73908450..c4807f77a 100644 Binary files a/docs/assets/screenshots/external-playwright-availability-mobile-light.png and b/docs/assets/screenshots/external-playwright-availability-mobile-light.png differ diff --git a/docs/assets/screenshots/external-playwright-factory-setup-desktop-dark.png b/docs/assets/screenshots/external-playwright-factory-setup-desktop-dark.png index 798c04100..40f7bb0e7 100644 Binary files a/docs/assets/screenshots/external-playwright-factory-setup-desktop-dark.png and b/docs/assets/screenshots/external-playwright-factory-setup-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-factory-setup-desktop-light.png b/docs/assets/screenshots/external-playwright-factory-setup-desktop-light.png index 4a1ba93b5..830460c59 100644 Binary files a/docs/assets/screenshots/external-playwright-factory-setup-desktop-light.png and b/docs/assets/screenshots/external-playwright-factory-setup-desktop-light.png differ diff --git a/docs/assets/screenshots/external-playwright-factory-setup-mobile-dark.png b/docs/assets/screenshots/external-playwright-factory-setup-mobile-dark.png index 97ef8fa6d..3809d2f1a 100644 Binary files a/docs/assets/screenshots/external-playwright-factory-setup-mobile-dark.png and b/docs/assets/screenshots/external-playwright-factory-setup-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-factory-setup-mobile-light.png b/docs/assets/screenshots/external-playwright-factory-setup-mobile-light.png index b68064eff..09a720465 100644 Binary files a/docs/assets/screenshots/external-playwright-factory-setup-mobile-light.png and b/docs/assets/screenshots/external-playwright-factory-setup-mobile-light.png differ diff --git a/docs/assets/screenshots/external-playwright-requirements-desktop-dark.png b/docs/assets/screenshots/external-playwright-requirements-desktop-dark.png index 5d042446a..cf0de56ac 100644 Binary files a/docs/assets/screenshots/external-playwright-requirements-desktop-dark.png and b/docs/assets/screenshots/external-playwright-requirements-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-requirements-desktop-light.png b/docs/assets/screenshots/external-playwright-requirements-desktop-light.png index 20bccc270..d21a7e936 100644 Binary files a/docs/assets/screenshots/external-playwright-requirements-desktop-light.png and b/docs/assets/screenshots/external-playwright-requirements-desktop-light.png differ diff --git a/docs/assets/screenshots/external-playwright-requirements-mobile-dark.png b/docs/assets/screenshots/external-playwright-requirements-mobile-dark.png index afdda86a8..93ae6d71e 100644 Binary files a/docs/assets/screenshots/external-playwright-requirements-mobile-dark.png and b/docs/assets/screenshots/external-playwright-requirements-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-playwright-requirements-mobile-light.png b/docs/assets/screenshots/external-playwright-requirements-mobile-light.png index d5f6f77dd..c1e4c3e54 100644 Binary files a/docs/assets/screenshots/external-playwright-requirements-mobile-light.png and b/docs/assets/screenshots/external-playwright-requirements-mobile-light.png differ diff --git a/docs/assets/screenshots/external-project-desktop-dark.png b/docs/assets/screenshots/external-project-desktop-dark.png index 583491fc6..98132c3e6 100644 Binary files a/docs/assets/screenshots/external-project-desktop-dark.png and b/docs/assets/screenshots/external-project-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-project-desktop-light.png b/docs/assets/screenshots/external-project-desktop-light.png index 305f9369a..d233134b8 100644 Binary files a/docs/assets/screenshots/external-project-desktop-light.png and b/docs/assets/screenshots/external-project-desktop-light.png differ diff --git a/docs/assets/screenshots/external-project-fields-desktop-dark.png b/docs/assets/screenshots/external-project-fields-desktop-dark.png index 583491fc6..98132c3e6 100644 Binary files a/docs/assets/screenshots/external-project-fields-desktop-dark.png and b/docs/assets/screenshots/external-project-fields-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-project-fields-desktop-light.png b/docs/assets/screenshots/external-project-fields-desktop-light.png index 305f9369a..d233134b8 100644 Binary files a/docs/assets/screenshots/external-project-fields-desktop-light.png and b/docs/assets/screenshots/external-project-fields-desktop-light.png differ diff --git a/docs/assets/screenshots/external-project-fields-mobile-dark.png b/docs/assets/screenshots/external-project-fields-mobile-dark.png index 8426eb5b4..bdb13513e 100644 Binary files a/docs/assets/screenshots/external-project-fields-mobile-dark.png and b/docs/assets/screenshots/external-project-fields-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-project-fields-mobile-light.png b/docs/assets/screenshots/external-project-fields-mobile-light.png index eeaf63c79..657aba70f 100644 Binary files a/docs/assets/screenshots/external-project-fields-mobile-light.png and b/docs/assets/screenshots/external-project-fields-mobile-light.png differ diff --git a/docs/assets/screenshots/external-project-mobile-dark.png b/docs/assets/screenshots/external-project-mobile-dark.png index 8426eb5b4..bdb13513e 100644 Binary files a/docs/assets/screenshots/external-project-mobile-dark.png and b/docs/assets/screenshots/external-project-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-project-mobile-light.png b/docs/assets/screenshots/external-project-mobile-light.png index eeaf63c79..657aba70f 100644 Binary files a/docs/assets/screenshots/external-project-mobile-light.png and b/docs/assets/screenshots/external-project-mobile-light.png differ diff --git a/docs/assets/screenshots/external-project-roles-detail-desktop-dark.png b/docs/assets/screenshots/external-project-roles-detail-desktop-dark.png index 56251482c..86a91f5cf 100644 Binary files a/docs/assets/screenshots/external-project-roles-detail-desktop-dark.png and b/docs/assets/screenshots/external-project-roles-detail-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-project-roles-detail-desktop-light.png b/docs/assets/screenshots/external-project-roles-detail-desktop-light.png index 5c54958f3..73095fd70 100644 Binary files a/docs/assets/screenshots/external-project-roles-detail-desktop-light.png and b/docs/assets/screenshots/external-project-roles-detail-desktop-light.png differ diff --git a/docs/assets/screenshots/external-project-roles-detail-mobile-dark.png b/docs/assets/screenshots/external-project-roles-detail-mobile-dark.png index 04db1c702..38dcdd83b 100644 Binary files a/docs/assets/screenshots/external-project-roles-detail-mobile-dark.png and b/docs/assets/screenshots/external-project-roles-detail-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-project-roles-detail-mobile-light.png b/docs/assets/screenshots/external-project-roles-detail-mobile-light.png index 3eecd7f7a..ae1ee65bf 100644 Binary files a/docs/assets/screenshots/external-project-roles-detail-mobile-light.png and b/docs/assets/screenshots/external-project-roles-detail-mobile-light.png differ diff --git a/docs/assets/screenshots/external-review-confirmation-detail-desktop-dark.png b/docs/assets/screenshots/external-review-confirmation-detail-desktop-dark.png index edee4e746..93c4d36c1 100644 Binary files a/docs/assets/screenshots/external-review-confirmation-detail-desktop-dark.png and b/docs/assets/screenshots/external-review-confirmation-detail-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-review-confirmation-detail-desktop-light.png b/docs/assets/screenshots/external-review-confirmation-detail-desktop-light.png index 491f2e74d..960a08412 100644 Binary files a/docs/assets/screenshots/external-review-confirmation-detail-desktop-light.png and b/docs/assets/screenshots/external-review-confirmation-detail-desktop-light.png differ diff --git a/docs/assets/screenshots/external-review-confirmation-detail-mobile-dark.png b/docs/assets/screenshots/external-review-confirmation-detail-mobile-dark.png index 93a203987..2fea618ed 100644 Binary files a/docs/assets/screenshots/external-review-confirmation-detail-mobile-dark.png and b/docs/assets/screenshots/external-review-confirmation-detail-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-review-confirmation-detail-mobile-light.png b/docs/assets/screenshots/external-review-confirmation-detail-mobile-light.png index 5af7342a7..1566b5fd1 100644 Binary files a/docs/assets/screenshots/external-review-confirmation-detail-mobile-light.png and b/docs/assets/screenshots/external-review-confirmation-detail-mobile-light.png differ diff --git a/docs/assets/screenshots/external-review-overview-desktop-dark.png b/docs/assets/screenshots/external-review-overview-desktop-dark.png index 521460f25..109014238 100644 Binary files a/docs/assets/screenshots/external-review-overview-desktop-dark.png and b/docs/assets/screenshots/external-review-overview-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-review-overview-desktop-light.png b/docs/assets/screenshots/external-review-overview-desktop-light.png index 34018b0a3..9b3b063af 100644 Binary files a/docs/assets/screenshots/external-review-overview-desktop-light.png and b/docs/assets/screenshots/external-review-overview-desktop-light.png differ diff --git a/docs/assets/screenshots/external-review-overview-mobile-dark.png b/docs/assets/screenshots/external-review-overview-mobile-dark.png index c7a755a81..8335c41cc 100644 Binary files a/docs/assets/screenshots/external-review-overview-mobile-dark.png and b/docs/assets/screenshots/external-review-overview-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-review-overview-mobile-light.png b/docs/assets/screenshots/external-review-overview-mobile-light.png index 749c71b63..3fc1c183a 100644 Binary files a/docs/assets/screenshots/external-review-overview-mobile-light.png and b/docs/assets/screenshots/external-review-overview-mobile-light.png differ diff --git a/docs/assets/screenshots/external-review-schema-detail-desktop-dark.png b/docs/assets/screenshots/external-review-schema-detail-desktop-dark.png index 45266b827..8dd6de625 100644 Binary files a/docs/assets/screenshots/external-review-schema-detail-desktop-dark.png and b/docs/assets/screenshots/external-review-schema-detail-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-review-schema-detail-desktop-light.png b/docs/assets/screenshots/external-review-schema-detail-desktop-light.png index 1e46b52a9..2866cdb1e 100644 Binary files a/docs/assets/screenshots/external-review-schema-detail-desktop-light.png and b/docs/assets/screenshots/external-review-schema-detail-desktop-light.png differ diff --git a/docs/assets/screenshots/external-review-schema-detail-mobile-dark.png b/docs/assets/screenshots/external-review-schema-detail-mobile-dark.png index 039107fc0..8e0ec67a5 100644 Binary files a/docs/assets/screenshots/external-review-schema-detail-mobile-dark.png and b/docs/assets/screenshots/external-review-schema-detail-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-review-schema-detail-mobile-light.png b/docs/assets/screenshots/external-review-schema-detail-mobile-light.png index 503d76bd1..96aa319f6 100644 Binary files a/docs/assets/screenshots/external-review-schema-detail-mobile-light.png and b/docs/assets/screenshots/external-review-schema-detail-mobile-light.png differ diff --git a/docs/assets/screenshots/external-sentry-account-scope-desktop-dark.png b/docs/assets/screenshots/external-sentry-account-scope-desktop-dark.png index 2504d84c9..173836066 100644 Binary files a/docs/assets/screenshots/external-sentry-account-scope-desktop-dark.png and b/docs/assets/screenshots/external-sentry-account-scope-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-account-scope-desktop-light.png b/docs/assets/screenshots/external-sentry-account-scope-desktop-light.png index d3497f961..050dd96e5 100644 Binary files a/docs/assets/screenshots/external-sentry-account-scope-desktop-light.png and b/docs/assets/screenshots/external-sentry-account-scope-desktop-light.png differ diff --git a/docs/assets/screenshots/external-sentry-account-scope-detail-desktop-dark.png b/docs/assets/screenshots/external-sentry-account-scope-detail-desktop-dark.png index ec5223cf0..9832a5762 100644 Binary files a/docs/assets/screenshots/external-sentry-account-scope-detail-desktop-dark.png and b/docs/assets/screenshots/external-sentry-account-scope-detail-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-account-scope-detail-desktop-light.png b/docs/assets/screenshots/external-sentry-account-scope-detail-desktop-light.png index 47edee725..f12213a89 100644 Binary files a/docs/assets/screenshots/external-sentry-account-scope-detail-desktop-light.png and b/docs/assets/screenshots/external-sentry-account-scope-detail-desktop-light.png differ diff --git a/docs/assets/screenshots/external-sentry-account-scope-detail-mobile-dark.png b/docs/assets/screenshots/external-sentry-account-scope-detail-mobile-dark.png index 02a6b243c..23273696e 100644 Binary files a/docs/assets/screenshots/external-sentry-account-scope-detail-mobile-dark.png and b/docs/assets/screenshots/external-sentry-account-scope-detail-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-account-scope-detail-mobile-light.png b/docs/assets/screenshots/external-sentry-account-scope-detail-mobile-light.png index 90e5b6ffe..fa93f03b5 100644 Binary files a/docs/assets/screenshots/external-sentry-account-scope-detail-mobile-light.png and b/docs/assets/screenshots/external-sentry-account-scope-detail-mobile-light.png differ diff --git a/docs/assets/screenshots/external-sentry-account-scope-mobile-dark.png b/docs/assets/screenshots/external-sentry-account-scope-mobile-dark.png index a46aa30e2..73b4a4636 100644 Binary files a/docs/assets/screenshots/external-sentry-account-scope-mobile-dark.png and b/docs/assets/screenshots/external-sentry-account-scope-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-account-scope-mobile-light.png b/docs/assets/screenshots/external-sentry-account-scope-mobile-light.png index b8e590d23..f7bb79f2f 100644 Binary files a/docs/assets/screenshots/external-sentry-account-scope-mobile-light.png and b/docs/assets/screenshots/external-sentry-account-scope-mobile-light.png differ diff --git a/docs/assets/screenshots/external-sentry-availability-desktop-dark.png b/docs/assets/screenshots/external-sentry-availability-desktop-dark.png index 7f186c0ac..c3a797fab 100644 Binary files a/docs/assets/screenshots/external-sentry-availability-desktop-dark.png and b/docs/assets/screenshots/external-sentry-availability-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-availability-desktop-light.png b/docs/assets/screenshots/external-sentry-availability-desktop-light.png index 7b6415f98..1d839a9c3 100644 Binary files a/docs/assets/screenshots/external-sentry-availability-desktop-light.png and b/docs/assets/screenshots/external-sentry-availability-desktop-light.png differ diff --git a/docs/assets/screenshots/external-sentry-availability-mobile-dark.png b/docs/assets/screenshots/external-sentry-availability-mobile-dark.png index 6f45cb10f..93329bca3 100644 Binary files a/docs/assets/screenshots/external-sentry-availability-mobile-dark.png and b/docs/assets/screenshots/external-sentry-availability-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-availability-mobile-light.png b/docs/assets/screenshots/external-sentry-availability-mobile-light.png index d9f111199..6ce951100 100644 Binary files a/docs/assets/screenshots/external-sentry-availability-mobile-light.png and b/docs/assets/screenshots/external-sentry-availability-mobile-light.png differ diff --git a/docs/assets/screenshots/external-sentry-factory-setup-desktop-dark.png b/docs/assets/screenshots/external-sentry-factory-setup-desktop-dark.png index 482d0c680..cb76b8022 100644 Binary files a/docs/assets/screenshots/external-sentry-factory-setup-desktop-dark.png and b/docs/assets/screenshots/external-sentry-factory-setup-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-factory-setup-desktop-light.png b/docs/assets/screenshots/external-sentry-factory-setup-desktop-light.png index 09df9bec1..6b15648b1 100644 Binary files a/docs/assets/screenshots/external-sentry-factory-setup-desktop-light.png and b/docs/assets/screenshots/external-sentry-factory-setup-desktop-light.png differ diff --git a/docs/assets/screenshots/external-sentry-factory-setup-mobile-dark.png b/docs/assets/screenshots/external-sentry-factory-setup-mobile-dark.png index 706281df4..7e8e5b4e2 100644 Binary files a/docs/assets/screenshots/external-sentry-factory-setup-mobile-dark.png and b/docs/assets/screenshots/external-sentry-factory-setup-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-factory-setup-mobile-light.png b/docs/assets/screenshots/external-sentry-factory-setup-mobile-light.png index abee9f546..900da8753 100644 Binary files a/docs/assets/screenshots/external-sentry-factory-setup-mobile-light.png and b/docs/assets/screenshots/external-sentry-factory-setup-mobile-light.png differ diff --git a/docs/assets/screenshots/external-sentry-requirements-desktop-dark.png b/docs/assets/screenshots/external-sentry-requirements-desktop-dark.png index c54fb2fd3..3ebfbc61a 100644 Binary files a/docs/assets/screenshots/external-sentry-requirements-desktop-dark.png and b/docs/assets/screenshots/external-sentry-requirements-desktop-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-requirements-desktop-light.png b/docs/assets/screenshots/external-sentry-requirements-desktop-light.png index b728881f5..4e67f88b6 100644 Binary files a/docs/assets/screenshots/external-sentry-requirements-desktop-light.png and b/docs/assets/screenshots/external-sentry-requirements-desktop-light.png differ diff --git a/docs/assets/screenshots/external-sentry-requirements-mobile-dark.png b/docs/assets/screenshots/external-sentry-requirements-mobile-dark.png index 7c44f0732..92c47f123 100644 Binary files a/docs/assets/screenshots/external-sentry-requirements-mobile-dark.png and b/docs/assets/screenshots/external-sentry-requirements-mobile-dark.png differ diff --git a/docs/assets/screenshots/external-sentry-requirements-mobile-light.png b/docs/assets/screenshots/external-sentry-requirements-mobile-light.png index c05855936..7d8fef9e5 100644 Binary files a/docs/assets/screenshots/external-sentry-requirements-mobile-light.png and b/docs/assets/screenshots/external-sentry-requirements-mobile-light.png differ diff --git a/docs/assets/screenshots/factory-overview-desktop-dark.png b/docs/assets/screenshots/factory-overview-desktop-dark.png index 2e3427e13..834914333 100644 Binary files a/docs/assets/screenshots/factory-overview-desktop-dark.png and b/docs/assets/screenshots/factory-overview-desktop-dark.png differ diff --git a/docs/assets/screenshots/factory-overview-desktop-light.png b/docs/assets/screenshots/factory-overview-desktop-light.png index fc117ab65..dbc2dd491 100644 Binary files a/docs/assets/screenshots/factory-overview-desktop-light.png and b/docs/assets/screenshots/factory-overview-desktop-light.png differ diff --git a/docs/assets/screenshots/factory-overview-mobile-dark.png b/docs/assets/screenshots/factory-overview-mobile-dark.png index 6b6ea14ad..8c314d6d7 100644 Binary files a/docs/assets/screenshots/factory-overview-mobile-dark.png and b/docs/assets/screenshots/factory-overview-mobile-dark.png differ diff --git a/docs/assets/screenshots/factory-overview-mobile-light.png b/docs/assets/screenshots/factory-overview-mobile-light.png index 156b0abf5..53041a7c0 100644 Binary files a/docs/assets/screenshots/factory-overview-mobile-light.png and b/docs/assets/screenshots/factory-overview-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-candidate-desktop-dark.png b/docs/assets/screenshots/learning-candidate-desktop-dark.png index b387b3562..b869a7d1d 100644 Binary files a/docs/assets/screenshots/learning-candidate-desktop-dark.png and b/docs/assets/screenshots/learning-candidate-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-candidate-desktop-light.png b/docs/assets/screenshots/learning-candidate-desktop-light.png index 5e7a1b223..b6f2cd407 100644 Binary files a/docs/assets/screenshots/learning-candidate-desktop-light.png and b/docs/assets/screenshots/learning-candidate-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-candidate-mobile-dark.png b/docs/assets/screenshots/learning-candidate-mobile-dark.png index 05421bab4..fb8d701a3 100644 Binary files a/docs/assets/screenshots/learning-candidate-mobile-dark.png and b/docs/assets/screenshots/learning-candidate-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-candidate-mobile-light.png b/docs/assets/screenshots/learning-candidate-mobile-light.png index d181bd105..5e5396e15 100644 Binary files a/docs/assets/screenshots/learning-candidate-mobile-light.png and b/docs/assets/screenshots/learning-candidate-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-invalidation-confirmed-desktop-dark.png b/docs/assets/screenshots/learning-invalidation-confirmed-desktop-dark.png index 64f3a7b84..23e616235 100644 Binary files a/docs/assets/screenshots/learning-invalidation-confirmed-desktop-dark.png and b/docs/assets/screenshots/learning-invalidation-confirmed-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-invalidation-confirmed-desktop-light.png b/docs/assets/screenshots/learning-invalidation-confirmed-desktop-light.png index 9e5fd4b6f..cc9039d85 100644 Binary files a/docs/assets/screenshots/learning-invalidation-confirmed-desktop-light.png and b/docs/assets/screenshots/learning-invalidation-confirmed-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-invalidation-confirmed-mobile-dark.png b/docs/assets/screenshots/learning-invalidation-confirmed-mobile-dark.png index a566a23a5..4ec19dbc5 100644 Binary files a/docs/assets/screenshots/learning-invalidation-confirmed-mobile-dark.png and b/docs/assets/screenshots/learning-invalidation-confirmed-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-invalidation-confirmed-mobile-light.png b/docs/assets/screenshots/learning-invalidation-confirmed-mobile-light.png index 1bcd25fa0..9c83cda62 100644 Binary files a/docs/assets/screenshots/learning-invalidation-confirmed-mobile-light.png and b/docs/assets/screenshots/learning-invalidation-confirmed-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-invalidation-reason-desktop-dark.png b/docs/assets/screenshots/learning-invalidation-reason-desktop-dark.png index e947ef913..5530b3c6b 100644 Binary files a/docs/assets/screenshots/learning-invalidation-reason-desktop-dark.png and b/docs/assets/screenshots/learning-invalidation-reason-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-invalidation-reason-desktop-light.png b/docs/assets/screenshots/learning-invalidation-reason-desktop-light.png index f74dfa9f9..1cbc935c1 100644 Binary files a/docs/assets/screenshots/learning-invalidation-reason-desktop-light.png and b/docs/assets/screenshots/learning-invalidation-reason-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-invalidation-reason-mobile-dark.png b/docs/assets/screenshots/learning-invalidation-reason-mobile-dark.png index 6c9ac22d0..156597654 100644 Binary files a/docs/assets/screenshots/learning-invalidation-reason-mobile-dark.png and b/docs/assets/screenshots/learning-invalidation-reason-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-invalidation-reason-mobile-light.png b/docs/assets/screenshots/learning-invalidation-reason-mobile-light.png index 135d8cce3..f835bf611 100644 Binary files a/docs/assets/screenshots/learning-invalidation-reason-mobile-light.png and b/docs/assets/screenshots/learning-invalidation-reason-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-invalidation-review-desktop-dark.png b/docs/assets/screenshots/learning-invalidation-review-desktop-dark.png index 2e80df1f4..f6036029b 100644 Binary files a/docs/assets/screenshots/learning-invalidation-review-desktop-dark.png and b/docs/assets/screenshots/learning-invalidation-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-invalidation-review-desktop-light.png b/docs/assets/screenshots/learning-invalidation-review-desktop-light.png index 9e9c89a50..f0221429a 100644 Binary files a/docs/assets/screenshots/learning-invalidation-review-desktop-light.png and b/docs/assets/screenshots/learning-invalidation-review-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-invalidation-review-mobile-dark.png b/docs/assets/screenshots/learning-invalidation-review-mobile-dark.png index 10baf3d71..e709a61eb 100644 Binary files a/docs/assets/screenshots/learning-invalidation-review-mobile-dark.png and b/docs/assets/screenshots/learning-invalidation-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-invalidation-review-mobile-light.png b/docs/assets/screenshots/learning-invalidation-review-mobile-light.png index be21efd5d..f39995542 100644 Binary files a/docs/assets/screenshots/learning-invalidation-review-mobile-light.png and b/docs/assets/screenshots/learning-invalidation-review-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-invalidation-unresolved-desktop-dark.png b/docs/assets/screenshots/learning-invalidation-unresolved-desktop-dark.png index 2ccb8107b..985ab30c8 100644 Binary files a/docs/assets/screenshots/learning-invalidation-unresolved-desktop-dark.png and b/docs/assets/screenshots/learning-invalidation-unresolved-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-invalidation-unresolved-desktop-light.png b/docs/assets/screenshots/learning-invalidation-unresolved-desktop-light.png index 8ad9f375f..0847bfbfc 100644 Binary files a/docs/assets/screenshots/learning-invalidation-unresolved-desktop-light.png and b/docs/assets/screenshots/learning-invalidation-unresolved-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-invalidation-unresolved-mobile-dark.png b/docs/assets/screenshots/learning-invalidation-unresolved-mobile-dark.png index 363ea5a0d..d14ac7b28 100644 Binary files a/docs/assets/screenshots/learning-invalidation-unresolved-mobile-dark.png and b/docs/assets/screenshots/learning-invalidation-unresolved-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-invalidation-unresolved-mobile-light.png b/docs/assets/screenshots/learning-invalidation-unresolved-mobile-light.png index 6496ebbce..97dc2b898 100644 Binary files a/docs/assets/screenshots/learning-invalidation-unresolved-mobile-light.png and b/docs/assets/screenshots/learning-invalidation-unresolved-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-knowledge-desktop-dark.png b/docs/assets/screenshots/learning-knowledge-desktop-dark.png index 762bcf05a..f64382e4a 100644 Binary files a/docs/assets/screenshots/learning-knowledge-desktop-dark.png and b/docs/assets/screenshots/learning-knowledge-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-knowledge-desktop-light.png b/docs/assets/screenshots/learning-knowledge-desktop-light.png index b11c900bf..2b740a386 100644 Binary files a/docs/assets/screenshots/learning-knowledge-desktop-light.png and b/docs/assets/screenshots/learning-knowledge-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-knowledge-mobile-dark.png b/docs/assets/screenshots/learning-knowledge-mobile-dark.png index cec167661..17cb826a4 100644 Binary files a/docs/assets/screenshots/learning-knowledge-mobile-dark.png and b/docs/assets/screenshots/learning-knowledge-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-knowledge-mobile-light.png b/docs/assets/screenshots/learning-knowledge-mobile-light.png index abca10218..105d30c09 100644 Binary files a/docs/assets/screenshots/learning-knowledge-mobile-light.png and b/docs/assets/screenshots/learning-knowledge-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-limits-desktop-dark.png b/docs/assets/screenshots/learning-limits-desktop-dark.png index 7abeb086e..08073b2fb 100644 Binary files a/docs/assets/screenshots/learning-limits-desktop-dark.png and b/docs/assets/screenshots/learning-limits-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-limits-desktop-light.png b/docs/assets/screenshots/learning-limits-desktop-light.png index 4693b72c2..0cd115ee0 100644 Binary files a/docs/assets/screenshots/learning-limits-desktop-light.png and b/docs/assets/screenshots/learning-limits-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-limits-mobile-dark.png b/docs/assets/screenshots/learning-limits-mobile-dark.png index 8b3c93475..ba866be10 100644 Binary files a/docs/assets/screenshots/learning-limits-mobile-dark.png and b/docs/assets/screenshots/learning-limits-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-limits-mobile-light.png b/docs/assets/screenshots/learning-limits-mobile-light.png index cba42a965..d595a2558 100644 Binary files a/docs/assets/screenshots/learning-limits-mobile-light.png and b/docs/assets/screenshots/learning-limits-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-observation-confirmed-desktop-dark.png b/docs/assets/screenshots/learning-observation-confirmed-desktop-dark.png index 3410950cb..6b685830e 100644 Binary files a/docs/assets/screenshots/learning-observation-confirmed-desktop-dark.png and b/docs/assets/screenshots/learning-observation-confirmed-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-observation-confirmed-desktop-light.png b/docs/assets/screenshots/learning-observation-confirmed-desktop-light.png index 649efc69b..78120aa2f 100644 Binary files a/docs/assets/screenshots/learning-observation-confirmed-desktop-light.png and b/docs/assets/screenshots/learning-observation-confirmed-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-observation-confirmed-mobile-dark.png b/docs/assets/screenshots/learning-observation-confirmed-mobile-dark.png index f4b63a2b6..8821038d7 100644 Binary files a/docs/assets/screenshots/learning-observation-confirmed-mobile-dark.png and b/docs/assets/screenshots/learning-observation-confirmed-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-observation-confirmed-mobile-light.png b/docs/assets/screenshots/learning-observation-confirmed-mobile-light.png index c92457cda..a6786639d 100644 Binary files a/docs/assets/screenshots/learning-observation-confirmed-mobile-light.png and b/docs/assets/screenshots/learning-observation-confirmed-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-observation-review-desktop-dark.png b/docs/assets/screenshots/learning-observation-review-desktop-dark.png index 05f2deac1..839f874d1 100644 Binary files a/docs/assets/screenshots/learning-observation-review-desktop-dark.png and b/docs/assets/screenshots/learning-observation-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-observation-review-desktop-light.png b/docs/assets/screenshots/learning-observation-review-desktop-light.png index f42cc6ac2..d54d52a66 100644 Binary files a/docs/assets/screenshots/learning-observation-review-desktop-light.png and b/docs/assets/screenshots/learning-observation-review-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-observation-review-mobile-dark.png b/docs/assets/screenshots/learning-observation-review-mobile-dark.png index 1dd573895..fcfb06edc 100644 Binary files a/docs/assets/screenshots/learning-observation-review-mobile-dark.png and b/docs/assets/screenshots/learning-observation-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-observation-review-mobile-light.png b/docs/assets/screenshots/learning-observation-review-mobile-light.png index f7a298d92..cdd11e9c7 100644 Binary files a/docs/assets/screenshots/learning-observation-review-mobile-light.png and b/docs/assets/screenshots/learning-observation-review-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-observation-source-desktop-dark.png b/docs/assets/screenshots/learning-observation-source-desktop-dark.png index 2c9caff74..e4de4a9d2 100644 Binary files a/docs/assets/screenshots/learning-observation-source-desktop-dark.png and b/docs/assets/screenshots/learning-observation-source-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-observation-source-desktop-light.png b/docs/assets/screenshots/learning-observation-source-desktop-light.png index 47c65f575..7efc96a56 100644 Binary files a/docs/assets/screenshots/learning-observation-source-desktop-light.png and b/docs/assets/screenshots/learning-observation-source-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-observation-source-mobile-dark.png b/docs/assets/screenshots/learning-observation-source-mobile-dark.png index 52b3c6520..ec313dac1 100644 Binary files a/docs/assets/screenshots/learning-observation-source-mobile-dark.png and b/docs/assets/screenshots/learning-observation-source-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-observation-source-mobile-light.png b/docs/assets/screenshots/learning-observation-source-mobile-light.png index fc2953abd..b019cc008 100644 Binary files a/docs/assets/screenshots/learning-observation-source-mobile-light.png and b/docs/assets/screenshots/learning-observation-source-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-observation-unresolved-desktop-dark.png b/docs/assets/screenshots/learning-observation-unresolved-desktop-dark.png index 15ffcfb5d..f73fd46c6 100644 Binary files a/docs/assets/screenshots/learning-observation-unresolved-desktop-dark.png and b/docs/assets/screenshots/learning-observation-unresolved-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-observation-unresolved-desktop-light.png b/docs/assets/screenshots/learning-observation-unresolved-desktop-light.png index 3010387da..b6cfc8890 100644 Binary files a/docs/assets/screenshots/learning-observation-unresolved-desktop-light.png and b/docs/assets/screenshots/learning-observation-unresolved-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-observation-unresolved-mobile-dark.png b/docs/assets/screenshots/learning-observation-unresolved-mobile-dark.png index 43df7a159..d3481450b 100644 Binary files a/docs/assets/screenshots/learning-observation-unresolved-mobile-dark.png and b/docs/assets/screenshots/learning-observation-unresolved-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-observation-unresolved-mobile-light.png b/docs/assets/screenshots/learning-observation-unresolved-mobile-light.png index 349510f8f..e6e27f610 100644 Binary files a/docs/assets/screenshots/learning-observation-unresolved-mobile-light.png and b/docs/assets/screenshots/learning-observation-unresolved-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-projection-desktop-dark.png b/docs/assets/screenshots/learning-projection-desktop-dark.png index bce8e0844..6c34c192b 100644 Binary files a/docs/assets/screenshots/learning-projection-desktop-dark.png and b/docs/assets/screenshots/learning-projection-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-projection-desktop-light.png b/docs/assets/screenshots/learning-projection-desktop-light.png index f9537027f..f4a03abaf 100644 Binary files a/docs/assets/screenshots/learning-projection-desktop-light.png and b/docs/assets/screenshots/learning-projection-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-projection-mobile-dark.png b/docs/assets/screenshots/learning-projection-mobile-dark.png index 76d154096..c070b4095 100644 Binary files a/docs/assets/screenshots/learning-projection-mobile-dark.png and b/docs/assets/screenshots/learning-projection-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-projection-mobile-light.png b/docs/assets/screenshots/learning-projection-mobile-light.png index d32b77769..75fdd72d3 100644 Binary files a/docs/assets/screenshots/learning-projection-mobile-light.png and b/docs/assets/screenshots/learning-projection-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-provenance-desktop-dark.png b/docs/assets/screenshots/learning-provenance-desktop-dark.png index 7e304d924..f8dcde086 100644 Binary files a/docs/assets/screenshots/learning-provenance-desktop-dark.png and b/docs/assets/screenshots/learning-provenance-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-provenance-desktop-light.png b/docs/assets/screenshots/learning-provenance-desktop-light.png index 1897ac6b5..2503010c9 100644 Binary files a/docs/assets/screenshots/learning-provenance-desktop-light.png and b/docs/assets/screenshots/learning-provenance-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-provenance-mobile-dark.png b/docs/assets/screenshots/learning-provenance-mobile-dark.png index 3e8c8694a..ae5be2ae3 100644 Binary files a/docs/assets/screenshots/learning-provenance-mobile-dark.png and b/docs/assets/screenshots/learning-provenance-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-provenance-mobile-light.png b/docs/assets/screenshots/learning-provenance-mobile-light.png index a4e3318f5..a66da40e7 100644 Binary files a/docs/assets/screenshots/learning-provenance-mobile-light.png and b/docs/assets/screenshots/learning-provenance-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-records-desktop-dark.png b/docs/assets/screenshots/learning-records-desktop-dark.png index df2645b01..5249f0739 100644 Binary files a/docs/assets/screenshots/learning-records-desktop-dark.png and b/docs/assets/screenshots/learning-records-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-records-desktop-light.png b/docs/assets/screenshots/learning-records-desktop-light.png index e6a313609..c1df1ba3d 100644 Binary files a/docs/assets/screenshots/learning-records-desktop-light.png and b/docs/assets/screenshots/learning-records-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-records-mobile-dark.png b/docs/assets/screenshots/learning-records-mobile-dark.png index 01d98df8a..8a16176b6 100644 Binary files a/docs/assets/screenshots/learning-records-mobile-dark.png and b/docs/assets/screenshots/learning-records-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-records-mobile-light.png b/docs/assets/screenshots/learning-records-mobile-light.png index c3b9548f4..97caa36e4 100644 Binary files a/docs/assets/screenshots/learning-records-mobile-light.png and b/docs/assets/screenshots/learning-records-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-review-desktop-dark.png b/docs/assets/screenshots/learning-review-desktop-dark.png index b91972d41..61a577158 100644 Binary files a/docs/assets/screenshots/learning-review-desktop-dark.png and b/docs/assets/screenshots/learning-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-review-desktop-light.png b/docs/assets/screenshots/learning-review-desktop-light.png index 63d4c4258..dfa16d839 100644 Binary files a/docs/assets/screenshots/learning-review-desktop-light.png and b/docs/assets/screenshots/learning-review-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-review-mobile-dark.png b/docs/assets/screenshots/learning-review-mobile-dark.png index 6d7559b04..1aee2091d 100644 Binary files a/docs/assets/screenshots/learning-review-mobile-dark.png and b/docs/assets/screenshots/learning-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-review-mobile-light.png b/docs/assets/screenshots/learning-review-mobile-light.png index 70aa79b89..a18402e90 100644 Binary files a/docs/assets/screenshots/learning-review-mobile-light.png and b/docs/assets/screenshots/learning-review-mobile-light.png differ diff --git a/docs/assets/screenshots/learning-saved-desktop-dark.png b/docs/assets/screenshots/learning-saved-desktop-dark.png index 43fea5323..9b3e42888 100644 Binary files a/docs/assets/screenshots/learning-saved-desktop-dark.png and b/docs/assets/screenshots/learning-saved-desktop-dark.png differ diff --git a/docs/assets/screenshots/learning-saved-desktop-light.png b/docs/assets/screenshots/learning-saved-desktop-light.png index e4f35c9f3..394be686d 100644 Binary files a/docs/assets/screenshots/learning-saved-desktop-light.png and b/docs/assets/screenshots/learning-saved-desktop-light.png differ diff --git a/docs/assets/screenshots/learning-saved-mobile-dark.png b/docs/assets/screenshots/learning-saved-mobile-dark.png index 9a7dd41e3..eac2deefd 100644 Binary files a/docs/assets/screenshots/learning-saved-mobile-dark.png and b/docs/assets/screenshots/learning-saved-mobile-dark.png differ diff --git a/docs/assets/screenshots/learning-saved-mobile-light.png b/docs/assets/screenshots/learning-saved-mobile-light.png index 85e4ab397..0b156ac11 100644 Binary files a/docs/assets/screenshots/learning-saved-mobile-light.png and b/docs/assets/screenshots/learning-saved-mobile-light.png differ diff --git a/docs/assets/screenshots/product-behavior-desktop-dark.png b/docs/assets/screenshots/product-behavior-desktop-dark.png index 8d9f6d496..6dfe49132 100644 Binary files a/docs/assets/screenshots/product-behavior-desktop-dark.png and b/docs/assets/screenshots/product-behavior-desktop-dark.png differ diff --git a/docs/assets/screenshots/product-behavior-desktop-light.png b/docs/assets/screenshots/product-behavior-desktop-light.png index d55743fa7..5b13cdfa3 100644 Binary files a/docs/assets/screenshots/product-behavior-desktop-light.png and b/docs/assets/screenshots/product-behavior-desktop-light.png differ diff --git a/docs/assets/screenshots/product-behavior-mobile-dark.png b/docs/assets/screenshots/product-behavior-mobile-dark.png index 137c2899a..2b262e77a 100644 Binary files a/docs/assets/screenshots/product-behavior-mobile-dark.png and b/docs/assets/screenshots/product-behavior-mobile-dark.png differ diff --git a/docs/assets/screenshots/product-behavior-mobile-light.png b/docs/assets/screenshots/product-behavior-mobile-light.png index 6450b8d2f..581d0f619 100644 Binary files a/docs/assets/screenshots/product-behavior-mobile-light.png and b/docs/assets/screenshots/product-behavior-mobile-light.png differ diff --git a/docs/assets/screenshots/product-context-desktop-dark.png b/docs/assets/screenshots/product-context-desktop-dark.png index a4d723f45..2a8746a0e 100644 Binary files a/docs/assets/screenshots/product-context-desktop-dark.png and b/docs/assets/screenshots/product-context-desktop-dark.png differ diff --git a/docs/assets/screenshots/product-context-desktop-light.png b/docs/assets/screenshots/product-context-desktop-light.png index 7307fd644..c56a3a452 100644 Binary files a/docs/assets/screenshots/product-context-desktop-light.png and b/docs/assets/screenshots/product-context-desktop-light.png differ diff --git a/docs/assets/screenshots/product-context-mobile-dark.png b/docs/assets/screenshots/product-context-mobile-dark.png index 85fe6eda7..ce32f6fb3 100644 Binary files a/docs/assets/screenshots/product-context-mobile-dark.png and b/docs/assets/screenshots/product-context-mobile-dark.png differ diff --git a/docs/assets/screenshots/product-context-mobile-light.png b/docs/assets/screenshots/product-context-mobile-light.png index 0de01ffc5..66881916c 100644 Binary files a/docs/assets/screenshots/product-context-mobile-light.png and b/docs/assets/screenshots/product-context-mobile-light.png differ diff --git a/docs/assets/screenshots/product-feature-mapping-desktop-dark.png b/docs/assets/screenshots/product-feature-mapping-desktop-dark.png index fbbc6a84b..bb357d236 100644 Binary files a/docs/assets/screenshots/product-feature-mapping-desktop-dark.png and b/docs/assets/screenshots/product-feature-mapping-desktop-dark.png differ diff --git a/docs/assets/screenshots/product-feature-mapping-desktop-light.png b/docs/assets/screenshots/product-feature-mapping-desktop-light.png index 84506e9cf..b1bead255 100644 Binary files a/docs/assets/screenshots/product-feature-mapping-desktop-light.png and b/docs/assets/screenshots/product-feature-mapping-desktop-light.png differ diff --git a/docs/assets/screenshots/product-feature-mapping-mobile-dark.png b/docs/assets/screenshots/product-feature-mapping-mobile-dark.png index 59a9e111a..a3aaeeb75 100644 Binary files a/docs/assets/screenshots/product-feature-mapping-mobile-dark.png and b/docs/assets/screenshots/product-feature-mapping-mobile-dark.png differ diff --git a/docs/assets/screenshots/product-feature-mapping-mobile-light.png b/docs/assets/screenshots/product-feature-mapping-mobile-light.png index 5a8c74760..cdc4183d0 100644 Binary files a/docs/assets/screenshots/product-feature-mapping-mobile-light.png and b/docs/assets/screenshots/product-feature-mapping-mobile-light.png differ diff --git a/docs/assets/screenshots/product-features-desktop-dark.png b/docs/assets/screenshots/product-features-desktop-dark.png index e5f8d2aca..d3567639a 100644 Binary files a/docs/assets/screenshots/product-features-desktop-dark.png and b/docs/assets/screenshots/product-features-desktop-dark.png differ diff --git a/docs/assets/screenshots/product-features-desktop-light.png b/docs/assets/screenshots/product-features-desktop-light.png index 522e84933..cea4f0e66 100644 Binary files a/docs/assets/screenshots/product-features-desktop-light.png and b/docs/assets/screenshots/product-features-desktop-light.png differ diff --git a/docs/assets/screenshots/product-features-mobile-dark.png b/docs/assets/screenshots/product-features-mobile-dark.png index 4574f164a..b19bdf7b9 100644 Binary files a/docs/assets/screenshots/product-features-mobile-dark.png and b/docs/assets/screenshots/product-features-mobile-dark.png differ diff --git a/docs/assets/screenshots/product-features-mobile-light.png b/docs/assets/screenshots/product-features-mobile-light.png index f359b4aba..4f69f009a 100644 Binary files a/docs/assets/screenshots/product-features-mobile-light.png and b/docs/assets/screenshots/product-features-mobile-light.png differ diff --git a/docs/assets/screenshots/product-integrations-desktop-dark.png b/docs/assets/screenshots/product-integrations-desktop-dark.png index 9fd35cda3..23754252b 100644 Binary files a/docs/assets/screenshots/product-integrations-desktop-dark.png and b/docs/assets/screenshots/product-integrations-desktop-dark.png differ diff --git a/docs/assets/screenshots/product-integrations-desktop-light.png b/docs/assets/screenshots/product-integrations-desktop-light.png index 08d7978b9..82759d4cd 100644 Binary files a/docs/assets/screenshots/product-integrations-desktop-light.png and b/docs/assets/screenshots/product-integrations-desktop-light.png differ diff --git a/docs/assets/screenshots/product-integrations-mobile-dark.png b/docs/assets/screenshots/product-integrations-mobile-dark.png index b4c075f86..f67b5399a 100644 Binary files a/docs/assets/screenshots/product-integrations-mobile-dark.png and b/docs/assets/screenshots/product-integrations-mobile-dark.png differ diff --git a/docs/assets/screenshots/product-integrations-mobile-light.png b/docs/assets/screenshots/product-integrations-mobile-light.png index 9dfc46466..838eb7140 100644 Binary files a/docs/assets/screenshots/product-integrations-mobile-light.png and b/docs/assets/screenshots/product-integrations-mobile-light.png differ diff --git a/docs/assets/screenshots/product-journeys-desktop-dark.png b/docs/assets/screenshots/product-journeys-desktop-dark.png index 6d80f36dd..e7ee81148 100644 Binary files a/docs/assets/screenshots/product-journeys-desktop-dark.png and b/docs/assets/screenshots/product-journeys-desktop-dark.png differ diff --git a/docs/assets/screenshots/product-journeys-desktop-light.png b/docs/assets/screenshots/product-journeys-desktop-light.png index 4d80f253d..b40797b60 100644 Binary files a/docs/assets/screenshots/product-journeys-desktop-light.png and b/docs/assets/screenshots/product-journeys-desktop-light.png differ diff --git a/docs/assets/screenshots/product-journeys-mobile-dark.png b/docs/assets/screenshots/product-journeys-mobile-dark.png index e36e52ee7..380c11c1c 100644 Binary files a/docs/assets/screenshots/product-journeys-mobile-dark.png and b/docs/assets/screenshots/product-journeys-mobile-dark.png differ diff --git a/docs/assets/screenshots/product-journeys-mobile-light.png b/docs/assets/screenshots/product-journeys-mobile-light.png index 3a47dcb73..ab9c21522 100644 Binary files a/docs/assets/screenshots/product-journeys-mobile-light.png and b/docs/assets/screenshots/product-journeys-mobile-light.png differ diff --git a/docs/assets/screenshots/product-review-desktop-dark.png b/docs/assets/screenshots/product-review-desktop-dark.png index a555f6e31..03826bbe7 100644 Binary files a/docs/assets/screenshots/product-review-desktop-dark.png and b/docs/assets/screenshots/product-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/product-review-desktop-light.png b/docs/assets/screenshots/product-review-desktop-light.png index 14949f3e5..53bd144f5 100644 Binary files a/docs/assets/screenshots/product-review-desktop-light.png and b/docs/assets/screenshots/product-review-desktop-light.png differ diff --git a/docs/assets/screenshots/product-review-mobile-dark.png b/docs/assets/screenshots/product-review-mobile-dark.png index e1b17b8ea..daa4101f1 100644 Binary files a/docs/assets/screenshots/product-review-mobile-dark.png and b/docs/assets/screenshots/product-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/product-review-mobile-light.png b/docs/assets/screenshots/product-review-mobile-light.png index 36e4dde07..63a48d3bb 100644 Binary files a/docs/assets/screenshots/product-review-mobile-light.png and b/docs/assets/screenshots/product-review-mobile-light.png differ diff --git a/docs/assets/screenshots/provider-allowance-failure-desktop-dark.png b/docs/assets/screenshots/provider-allowance-failure-desktop-dark.png index 2a99c206c..3481f331a 100644 Binary files a/docs/assets/screenshots/provider-allowance-failure-desktop-dark.png and b/docs/assets/screenshots/provider-allowance-failure-desktop-dark.png differ diff --git a/docs/assets/screenshots/provider-allowance-failure-desktop-light.png b/docs/assets/screenshots/provider-allowance-failure-desktop-light.png index 6ba06bdf0..227735c00 100644 Binary files a/docs/assets/screenshots/provider-allowance-failure-desktop-light.png and b/docs/assets/screenshots/provider-allowance-failure-desktop-light.png differ diff --git a/docs/assets/screenshots/provider-allowance-failure-mobile-dark.png b/docs/assets/screenshots/provider-allowance-failure-mobile-dark.png index e5c5d0d66..081d4bc19 100644 Binary files a/docs/assets/screenshots/provider-allowance-failure-mobile-dark.png and b/docs/assets/screenshots/provider-allowance-failure-mobile-dark.png differ diff --git a/docs/assets/screenshots/provider-allowance-failure-mobile-light.png b/docs/assets/screenshots/provider-allowance-failure-mobile-light.png index e1b5a5b7b..a4f2a983c 100644 Binary files a/docs/assets/screenshots/provider-allowance-failure-mobile-light.png and b/docs/assets/screenshots/provider-allowance-failure-mobile-light.png differ diff --git a/docs/assets/screenshots/provider-allowance-mitigation-desktop-dark.png b/docs/assets/screenshots/provider-allowance-mitigation-desktop-dark.png index 816f17ee2..990843434 100644 Binary files a/docs/assets/screenshots/provider-allowance-mitigation-desktop-dark.png and b/docs/assets/screenshots/provider-allowance-mitigation-desktop-dark.png differ diff --git a/docs/assets/screenshots/provider-allowance-mitigation-desktop-light.png b/docs/assets/screenshots/provider-allowance-mitigation-desktop-light.png index a0f5c8ffa..56ef62492 100644 Binary files a/docs/assets/screenshots/provider-allowance-mitigation-desktop-light.png and b/docs/assets/screenshots/provider-allowance-mitigation-desktop-light.png differ diff --git a/docs/assets/screenshots/provider-allowance-mitigation-mobile-dark.png b/docs/assets/screenshots/provider-allowance-mitigation-mobile-dark.png index c0ae8e8f8..8aef9c5b3 100644 Binary files a/docs/assets/screenshots/provider-allowance-mitigation-mobile-dark.png and b/docs/assets/screenshots/provider-allowance-mitigation-mobile-dark.png differ diff --git a/docs/assets/screenshots/provider-allowance-mitigation-mobile-light.png b/docs/assets/screenshots/provider-allowance-mitigation-mobile-light.png index a2317aafe..e1d3e9bf1 100644 Binary files a/docs/assets/screenshots/provider-allowance-mitigation-mobile-light.png and b/docs/assets/screenshots/provider-allowance-mitigation-mobile-light.png differ diff --git a/docs/assets/screenshots/provider-allowance-reserved-desktop-dark.png b/docs/assets/screenshots/provider-allowance-reserved-desktop-dark.png index f56bea3cd..5d57e8f5a 100644 Binary files a/docs/assets/screenshots/provider-allowance-reserved-desktop-dark.png and b/docs/assets/screenshots/provider-allowance-reserved-desktop-dark.png differ diff --git a/docs/assets/screenshots/provider-allowance-reserved-desktop-light.png b/docs/assets/screenshots/provider-allowance-reserved-desktop-light.png index 7382ec563..ad0bb1b1a 100644 Binary files a/docs/assets/screenshots/provider-allowance-reserved-desktop-light.png and b/docs/assets/screenshots/provider-allowance-reserved-desktop-light.png differ diff --git a/docs/assets/screenshots/provider-allowance-reserved-mobile-dark.png b/docs/assets/screenshots/provider-allowance-reserved-mobile-dark.png index 657f03194..cb74c491c 100644 Binary files a/docs/assets/screenshots/provider-allowance-reserved-mobile-dark.png and b/docs/assets/screenshots/provider-allowance-reserved-mobile-dark.png differ diff --git a/docs/assets/screenshots/provider-allowance-reserved-mobile-light.png b/docs/assets/screenshots/provider-allowance-reserved-mobile-light.png index eeed59bd9..955930f6f 100644 Binary files a/docs/assets/screenshots/provider-allowance-reserved-mobile-light.png and b/docs/assets/screenshots/provider-allowance-reserved-mobile-light.png differ diff --git a/docs/assets/screenshots/provider-allowance-review-desktop-dark.png b/docs/assets/screenshots/provider-allowance-review-desktop-dark.png index f33206589..86e676620 100644 Binary files a/docs/assets/screenshots/provider-allowance-review-desktop-dark.png and b/docs/assets/screenshots/provider-allowance-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/provider-allowance-review-desktop-light.png b/docs/assets/screenshots/provider-allowance-review-desktop-light.png index 75596489f..fc530d0f9 100644 Binary files a/docs/assets/screenshots/provider-allowance-review-desktop-light.png and b/docs/assets/screenshots/provider-allowance-review-desktop-light.png differ diff --git a/docs/assets/screenshots/provider-allowance-review-mobile-dark.png b/docs/assets/screenshots/provider-allowance-review-mobile-dark.png index b979745a5..92daf60e1 100644 Binary files a/docs/assets/screenshots/provider-allowance-review-mobile-dark.png and b/docs/assets/screenshots/provider-allowance-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/provider-allowance-review-mobile-light.png b/docs/assets/screenshots/provider-allowance-review-mobile-light.png index 154386f53..06954e354 100644 Binary files a/docs/assets/screenshots/provider-allowance-review-mobile-light.png and b/docs/assets/screenshots/provider-allowance-review-mobile-light.png differ diff --git a/docs/assets/screenshots/recovery-bridge-choices-desktop-dark.png b/docs/assets/screenshots/recovery-bridge-choices-desktop-dark.png index acb0d487d..da66bdc38 100644 Binary files a/docs/assets/screenshots/recovery-bridge-choices-desktop-dark.png and b/docs/assets/screenshots/recovery-bridge-choices-desktop-dark.png differ diff --git a/docs/assets/screenshots/recovery-bridge-choices-desktop-light.png b/docs/assets/screenshots/recovery-bridge-choices-desktop-light.png index 728a29b95..200aee3d6 100644 Binary files a/docs/assets/screenshots/recovery-bridge-choices-desktop-light.png and b/docs/assets/screenshots/recovery-bridge-choices-desktop-light.png differ diff --git a/docs/assets/screenshots/recovery-bridge-choices-mobile-dark.png b/docs/assets/screenshots/recovery-bridge-choices-mobile-dark.png index f92ca86db..2f825f00f 100644 Binary files a/docs/assets/screenshots/recovery-bridge-choices-mobile-dark.png and b/docs/assets/screenshots/recovery-bridge-choices-mobile-dark.png differ diff --git a/docs/assets/screenshots/recovery-bridge-choices-mobile-light.png b/docs/assets/screenshots/recovery-bridge-choices-mobile-light.png index 62467f283..d9c93d256 100644 Binary files a/docs/assets/screenshots/recovery-bridge-choices-mobile-light.png and b/docs/assets/screenshots/recovery-bridge-choices-mobile-light.png differ diff --git a/docs/assets/screenshots/recovery-original-result-held-desktop-dark.png b/docs/assets/screenshots/recovery-original-result-held-desktop-dark.png index 9fd4b7ff6..058f025cf 100644 Binary files a/docs/assets/screenshots/recovery-original-result-held-desktop-dark.png and b/docs/assets/screenshots/recovery-original-result-held-desktop-dark.png differ diff --git a/docs/assets/screenshots/recovery-original-result-held-desktop-light.png b/docs/assets/screenshots/recovery-original-result-held-desktop-light.png index 7fc2a4f9b..fe1375137 100644 Binary files a/docs/assets/screenshots/recovery-original-result-held-desktop-light.png and b/docs/assets/screenshots/recovery-original-result-held-desktop-light.png differ diff --git a/docs/assets/screenshots/recovery-original-result-held-mobile-dark.png b/docs/assets/screenshots/recovery-original-result-held-mobile-dark.png index 519466874..f02debc9a 100644 Binary files a/docs/assets/screenshots/recovery-original-result-held-mobile-dark.png and b/docs/assets/screenshots/recovery-original-result-held-mobile-dark.png differ diff --git a/docs/assets/screenshots/recovery-original-result-held-mobile-light.png b/docs/assets/screenshots/recovery-original-result-held-mobile-light.png index dd07ccfe7..694f36de9 100644 Binary files a/docs/assets/screenshots/recovery-original-result-held-mobile-light.png and b/docs/assets/screenshots/recovery-original-result-held-mobile-light.png differ diff --git a/docs/assets/screenshots/recovery-original-result-ready-desktop-dark.png b/docs/assets/screenshots/recovery-original-result-ready-desktop-dark.png index 1016bfc87..1a6a5f75b 100644 Binary files a/docs/assets/screenshots/recovery-original-result-ready-desktop-dark.png and b/docs/assets/screenshots/recovery-original-result-ready-desktop-dark.png differ diff --git a/docs/assets/screenshots/recovery-original-result-ready-desktop-light.png b/docs/assets/screenshots/recovery-original-result-ready-desktop-light.png index ff77654f9..d60e88656 100644 Binary files a/docs/assets/screenshots/recovery-original-result-ready-desktop-light.png and b/docs/assets/screenshots/recovery-original-result-ready-desktop-light.png differ diff --git a/docs/assets/screenshots/recovery-original-result-ready-mobile-dark.png b/docs/assets/screenshots/recovery-original-result-ready-mobile-dark.png index 5dae2d8cd..81a0ded6f 100644 Binary files a/docs/assets/screenshots/recovery-original-result-ready-mobile-dark.png and b/docs/assets/screenshots/recovery-original-result-ready-mobile-dark.png differ diff --git a/docs/assets/screenshots/recovery-original-result-ready-mobile-light.png b/docs/assets/screenshots/recovery-original-result-ready-mobile-light.png index c81c668aa..f1b2020e6 100644 Binary files a/docs/assets/screenshots/recovery-original-result-ready-mobile-light.png and b/docs/assets/screenshots/recovery-original-result-ready-mobile-light.png differ diff --git a/docs/assets/screenshots/recovery-original-result-review-desktop-dark.png b/docs/assets/screenshots/recovery-original-result-review-desktop-dark.png index 00e09c375..17f35cbe7 100644 Binary files a/docs/assets/screenshots/recovery-original-result-review-desktop-dark.png and b/docs/assets/screenshots/recovery-original-result-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/recovery-original-result-review-desktop-light.png b/docs/assets/screenshots/recovery-original-result-review-desktop-light.png index 9e2b21dea..39f7fcc81 100644 Binary files a/docs/assets/screenshots/recovery-original-result-review-desktop-light.png and b/docs/assets/screenshots/recovery-original-result-review-desktop-light.png differ diff --git a/docs/assets/screenshots/recovery-original-result-review-mobile-dark.png b/docs/assets/screenshots/recovery-original-result-review-mobile-dark.png index 7a4bef821..87729ab55 100644 Binary files a/docs/assets/screenshots/recovery-original-result-review-mobile-dark.png and b/docs/assets/screenshots/recovery-original-result-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/recovery-original-result-review-mobile-light.png b/docs/assets/screenshots/recovery-original-result-review-mobile-light.png index 8cf1addee..7d971a0c6 100644 Binary files a/docs/assets/screenshots/recovery-original-result-review-mobile-light.png and b/docs/assets/screenshots/recovery-original-result-review-mobile-light.png differ diff --git a/docs/assets/screenshots/recovery-run-request-cancelled-desktop-dark.png b/docs/assets/screenshots/recovery-run-request-cancelled-desktop-dark.png index aaa3905b5..793fe49b9 100644 Binary files a/docs/assets/screenshots/recovery-run-request-cancelled-desktop-dark.png and b/docs/assets/screenshots/recovery-run-request-cancelled-desktop-dark.png differ diff --git a/docs/assets/screenshots/recovery-run-request-cancelled-desktop-light.png b/docs/assets/screenshots/recovery-run-request-cancelled-desktop-light.png index ec77beee8..0604f767a 100644 Binary files a/docs/assets/screenshots/recovery-run-request-cancelled-desktop-light.png and b/docs/assets/screenshots/recovery-run-request-cancelled-desktop-light.png differ diff --git a/docs/assets/screenshots/recovery-run-request-cancelled-mobile-dark.png b/docs/assets/screenshots/recovery-run-request-cancelled-mobile-dark.png index f02154c97..6980576cd 100644 Binary files a/docs/assets/screenshots/recovery-run-request-cancelled-mobile-dark.png and b/docs/assets/screenshots/recovery-run-request-cancelled-mobile-dark.png differ diff --git a/docs/assets/screenshots/recovery-run-request-cancelled-mobile-light.png b/docs/assets/screenshots/recovery-run-request-cancelled-mobile-light.png index f76169be7..d549727ff 100644 Binary files a/docs/assets/screenshots/recovery-run-request-cancelled-mobile-light.png and b/docs/assets/screenshots/recovery-run-request-cancelled-mobile-light.png differ diff --git a/docs/assets/screenshots/recovery-run-request-held-desktop-dark.png b/docs/assets/screenshots/recovery-run-request-held-desktop-dark.png index 1f315b823..49f30e84d 100644 Binary files a/docs/assets/screenshots/recovery-run-request-held-desktop-dark.png and b/docs/assets/screenshots/recovery-run-request-held-desktop-dark.png differ diff --git a/docs/assets/screenshots/recovery-run-request-held-desktop-light.png b/docs/assets/screenshots/recovery-run-request-held-desktop-light.png index 4113c0231..bbfdf65e5 100644 Binary files a/docs/assets/screenshots/recovery-run-request-held-desktop-light.png and b/docs/assets/screenshots/recovery-run-request-held-desktop-light.png differ diff --git a/docs/assets/screenshots/recovery-run-request-held-mobile-dark.png b/docs/assets/screenshots/recovery-run-request-held-mobile-dark.png index 178d7bf4b..29e9b6e15 100644 Binary files a/docs/assets/screenshots/recovery-run-request-held-mobile-dark.png and b/docs/assets/screenshots/recovery-run-request-held-mobile-dark.png differ diff --git a/docs/assets/screenshots/recovery-run-request-held-mobile-light.png b/docs/assets/screenshots/recovery-run-request-held-mobile-light.png index 853f64667..0e567858d 100644 Binary files a/docs/assets/screenshots/recovery-run-request-held-mobile-light.png and b/docs/assets/screenshots/recovery-run-request-held-mobile-light.png differ diff --git a/docs/assets/screenshots/run-brief-desktop-dark.png b/docs/assets/screenshots/run-brief-desktop-dark.png index cd04e0cd1..bbaf225b3 100644 Binary files a/docs/assets/screenshots/run-brief-desktop-dark.png and b/docs/assets/screenshots/run-brief-desktop-dark.png differ diff --git a/docs/assets/screenshots/run-brief-desktop-light.png b/docs/assets/screenshots/run-brief-desktop-light.png index eb54c8b78..2f1eebee0 100644 Binary files a/docs/assets/screenshots/run-brief-desktop-light.png and b/docs/assets/screenshots/run-brief-desktop-light.png differ diff --git a/docs/assets/screenshots/run-brief-mobile-dark.png b/docs/assets/screenshots/run-brief-mobile-dark.png index 3707126af..78f4ff74d 100644 Binary files a/docs/assets/screenshots/run-brief-mobile-dark.png and b/docs/assets/screenshots/run-brief-mobile-dark.png differ diff --git a/docs/assets/screenshots/run-brief-mobile-light.png b/docs/assets/screenshots/run-brief-mobile-light.png index e6165c9a5..c810cd22a 100644 Binary files a/docs/assets/screenshots/run-brief-mobile-light.png and b/docs/assets/screenshots/run-brief-mobile-light.png differ diff --git a/docs/assets/screenshots/run-checks-desktop-dark.png b/docs/assets/screenshots/run-checks-desktop-dark.png index 3c2a794f5..b14548047 100644 Binary files a/docs/assets/screenshots/run-checks-desktop-dark.png and b/docs/assets/screenshots/run-checks-desktop-dark.png differ diff --git a/docs/assets/screenshots/run-checks-desktop-light.png b/docs/assets/screenshots/run-checks-desktop-light.png index 9a4c9bc9d..5f0bc43e5 100644 Binary files a/docs/assets/screenshots/run-checks-desktop-light.png and b/docs/assets/screenshots/run-checks-desktop-light.png differ diff --git a/docs/assets/screenshots/run-checks-mobile-dark.png b/docs/assets/screenshots/run-checks-mobile-dark.png index 95e4c2970..f8085b654 100644 Binary files a/docs/assets/screenshots/run-checks-mobile-dark.png and b/docs/assets/screenshots/run-checks-mobile-dark.png differ diff --git a/docs/assets/screenshots/run-checks-mobile-light.png b/docs/assets/screenshots/run-checks-mobile-light.png index 93b73bc0a..927b87095 100644 Binary files a/docs/assets/screenshots/run-checks-mobile-light.png and b/docs/assets/screenshots/run-checks-mobile-light.png differ diff --git a/docs/assets/screenshots/run-context-desktop-dark.png b/docs/assets/screenshots/run-context-desktop-dark.png index b669ea65c..c76ea2e5a 100644 Binary files a/docs/assets/screenshots/run-context-desktop-dark.png and b/docs/assets/screenshots/run-context-desktop-dark.png differ diff --git a/docs/assets/screenshots/run-context-desktop-light.png b/docs/assets/screenshots/run-context-desktop-light.png index 2caa9b33c..cbcb8452a 100644 Binary files a/docs/assets/screenshots/run-context-desktop-light.png and b/docs/assets/screenshots/run-context-desktop-light.png differ diff --git a/docs/assets/screenshots/run-context-mobile-dark.png b/docs/assets/screenshots/run-context-mobile-dark.png index f84616b76..2cb584ec9 100644 Binary files a/docs/assets/screenshots/run-context-mobile-dark.png and b/docs/assets/screenshots/run-context-mobile-dark.png differ diff --git a/docs/assets/screenshots/run-context-mobile-light.png b/docs/assets/screenshots/run-context-mobile-light.png index e73444f6c..210a06970 100644 Binary files a/docs/assets/screenshots/run-context-mobile-light.png and b/docs/assets/screenshots/run-context-mobile-light.png differ diff --git a/docs/assets/screenshots/run-foundation-desktop-dark.png b/docs/assets/screenshots/run-foundation-desktop-dark.png index 9f69a08c3..dca250fc7 100644 Binary files a/docs/assets/screenshots/run-foundation-desktop-dark.png and b/docs/assets/screenshots/run-foundation-desktop-dark.png differ diff --git a/docs/assets/screenshots/run-foundation-desktop-light.png b/docs/assets/screenshots/run-foundation-desktop-light.png index b1667ea1c..6999a02cd 100644 Binary files a/docs/assets/screenshots/run-foundation-desktop-light.png and b/docs/assets/screenshots/run-foundation-desktop-light.png differ diff --git a/docs/assets/screenshots/run-foundation-mobile-dark.png b/docs/assets/screenshots/run-foundation-mobile-dark.png index 19cbb0159..1a91675fb 100644 Binary files a/docs/assets/screenshots/run-foundation-mobile-dark.png and b/docs/assets/screenshots/run-foundation-mobile-dark.png differ diff --git a/docs/assets/screenshots/run-foundation-mobile-light.png b/docs/assets/screenshots/run-foundation-mobile-light.png index 03fef7fa9..9e42dc4d4 100644 Binary files a/docs/assets/screenshots/run-foundation-mobile-light.png and b/docs/assets/screenshots/run-foundation-mobile-light.png differ diff --git a/docs/assets/screenshots/run-policies-desktop-dark.png b/docs/assets/screenshots/run-policies-desktop-dark.png index 7eec2e3d8..ef2d94d91 100644 Binary files a/docs/assets/screenshots/run-policies-desktop-dark.png and b/docs/assets/screenshots/run-policies-desktop-dark.png differ diff --git a/docs/assets/screenshots/run-policies-desktop-light.png b/docs/assets/screenshots/run-policies-desktop-light.png index 7a7265575..c35d31324 100644 Binary files a/docs/assets/screenshots/run-policies-desktop-light.png and b/docs/assets/screenshots/run-policies-desktop-light.png differ diff --git a/docs/assets/screenshots/run-policies-mobile-dark.png b/docs/assets/screenshots/run-policies-mobile-dark.png index 1fe240a68..bb5d064cc 100644 Binary files a/docs/assets/screenshots/run-policies-mobile-dark.png and b/docs/assets/screenshots/run-policies-mobile-dark.png differ diff --git a/docs/assets/screenshots/run-policies-mobile-light.png b/docs/assets/screenshots/run-policies-mobile-light.png index 9b7c818b5..df5dd7401 100644 Binary files a/docs/assets/screenshots/run-policies-mobile-light.png and b/docs/assets/screenshots/run-policies-mobile-light.png differ diff --git a/docs/assets/screenshots/run-review-desktop-dark.png b/docs/assets/screenshots/run-review-desktop-dark.png index ba939cde4..4c4467249 100644 Binary files a/docs/assets/screenshots/run-review-desktop-dark.png and b/docs/assets/screenshots/run-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/run-review-desktop-light.png b/docs/assets/screenshots/run-review-desktop-light.png index 8f33c3669..1a98d2092 100644 Binary files a/docs/assets/screenshots/run-review-desktop-light.png and b/docs/assets/screenshots/run-review-desktop-light.png differ diff --git a/docs/assets/screenshots/run-review-mobile-dark.png b/docs/assets/screenshots/run-review-mobile-dark.png index 97b39b721..2ffd01f93 100644 Binary files a/docs/assets/screenshots/run-review-mobile-dark.png and b/docs/assets/screenshots/run-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/run-review-mobile-light.png b/docs/assets/screenshots/run-review-mobile-light.png index 2b7aa8755..e520dc599 100644 Binary files a/docs/assets/screenshots/run-review-mobile-light.png and b/docs/assets/screenshots/run-review-mobile-light.png differ diff --git a/docs/assets/screenshots/run-review-provider-desktop-dark.png b/docs/assets/screenshots/run-review-provider-desktop-dark.png index 3c2a794f5..b14548047 100644 Binary files a/docs/assets/screenshots/run-review-provider-desktop-dark.png and b/docs/assets/screenshots/run-review-provider-desktop-dark.png differ diff --git a/docs/assets/screenshots/run-review-provider-desktop-light.png b/docs/assets/screenshots/run-review-provider-desktop-light.png index 9a4c9bc9d..5f0bc43e5 100644 Binary files a/docs/assets/screenshots/run-review-provider-desktop-light.png and b/docs/assets/screenshots/run-review-provider-desktop-light.png differ diff --git a/docs/assets/screenshots/run-review-provider-mobile-dark.png b/docs/assets/screenshots/run-review-provider-mobile-dark.png index 90dd7c7b3..d40ecdd94 100644 Binary files a/docs/assets/screenshots/run-review-provider-mobile-dark.png and b/docs/assets/screenshots/run-review-provider-mobile-dark.png differ diff --git a/docs/assets/screenshots/run-review-provider-mobile-light.png b/docs/assets/screenshots/run-review-provider-mobile-light.png index 07667ba2b..b5e1a6675 100644 Binary files a/docs/assets/screenshots/run-review-provider-mobile-light.png and b/docs/assets/screenshots/run-review-provider-mobile-light.png differ diff --git a/docs/assets/screenshots/runner-continuation-review-desktop-dark.png b/docs/assets/screenshots/runner-continuation-review-desktop-dark.png index 0e8610525..cea9c6c28 100644 Binary files a/docs/assets/screenshots/runner-continuation-review-desktop-dark.png and b/docs/assets/screenshots/runner-continuation-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/runner-continuation-review-desktop-light.png b/docs/assets/screenshots/runner-continuation-review-desktop-light.png index 67193ff04..201c694a9 100644 Binary files a/docs/assets/screenshots/runner-continuation-review-desktop-light.png and b/docs/assets/screenshots/runner-continuation-review-desktop-light.png differ diff --git a/docs/assets/screenshots/runner-continuation-review-mobile-dark.png b/docs/assets/screenshots/runner-continuation-review-mobile-dark.png index 478e1c85e..22823cddc 100644 Binary files a/docs/assets/screenshots/runner-continuation-review-mobile-dark.png and b/docs/assets/screenshots/runner-continuation-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/runner-continuation-review-mobile-light.png b/docs/assets/screenshots/runner-continuation-review-mobile-light.png index 556ea96b8..8c697a458 100644 Binary files a/docs/assets/screenshots/runner-continuation-review-mobile-light.png and b/docs/assets/screenshots/runner-continuation-review-mobile-light.png differ diff --git a/docs/assets/screenshots/runner-continuation-selection-desktop-dark.png b/docs/assets/screenshots/runner-continuation-selection-desktop-dark.png index 1618a5a41..317bf441d 100644 Binary files a/docs/assets/screenshots/runner-continuation-selection-desktop-dark.png and b/docs/assets/screenshots/runner-continuation-selection-desktop-dark.png differ diff --git a/docs/assets/screenshots/runner-continuation-selection-desktop-light.png b/docs/assets/screenshots/runner-continuation-selection-desktop-light.png index faade5042..418521a20 100644 Binary files a/docs/assets/screenshots/runner-continuation-selection-desktop-light.png and b/docs/assets/screenshots/runner-continuation-selection-desktop-light.png differ diff --git a/docs/assets/screenshots/runner-continuation-selection-mobile-dark.png b/docs/assets/screenshots/runner-continuation-selection-mobile-dark.png index 9596ad3c9..06f785395 100644 Binary files a/docs/assets/screenshots/runner-continuation-selection-mobile-dark.png and b/docs/assets/screenshots/runner-continuation-selection-mobile-dark.png differ diff --git a/docs/assets/screenshots/runner-continuation-selection-mobile-light.png b/docs/assets/screenshots/runner-continuation-selection-mobile-light.png index a718eaa75..68dba0aef 100644 Binary files a/docs/assets/screenshots/runner-continuation-selection-mobile-light.png and b/docs/assets/screenshots/runner-continuation-selection-mobile-light.png differ diff --git a/docs/assets/screenshots/scm-delegation-account-desktop-dark.png b/docs/assets/screenshots/scm-delegation-account-desktop-dark.png index 581b12309..404575e3a 100644 Binary files a/docs/assets/screenshots/scm-delegation-account-desktop-dark.png and b/docs/assets/screenshots/scm-delegation-account-desktop-dark.png differ diff --git a/docs/assets/screenshots/scm-delegation-account-desktop-light.png b/docs/assets/screenshots/scm-delegation-account-desktop-light.png index 00ff43484..1fd065da6 100644 Binary files a/docs/assets/screenshots/scm-delegation-account-desktop-light.png and b/docs/assets/screenshots/scm-delegation-account-desktop-light.png differ diff --git a/docs/assets/screenshots/scm-delegation-account-mobile-dark.png b/docs/assets/screenshots/scm-delegation-account-mobile-dark.png index 11ee3e3bf..221a1aefe 100644 Binary files a/docs/assets/screenshots/scm-delegation-account-mobile-dark.png and b/docs/assets/screenshots/scm-delegation-account-mobile-dark.png differ diff --git a/docs/assets/screenshots/scm-delegation-account-mobile-light.png b/docs/assets/screenshots/scm-delegation-account-mobile-light.png index 4ccc4d953..404acb689 100644 Binary files a/docs/assets/screenshots/scm-delegation-account-mobile-light.png and b/docs/assets/screenshots/scm-delegation-account-mobile-light.png differ diff --git a/docs/assets/screenshots/scm-delegation-confirmed-desktop-dark.png b/docs/assets/screenshots/scm-delegation-confirmed-desktop-dark.png index 17a96d832..7d35509a2 100644 Binary files a/docs/assets/screenshots/scm-delegation-confirmed-desktop-dark.png and b/docs/assets/screenshots/scm-delegation-confirmed-desktop-dark.png differ diff --git a/docs/assets/screenshots/scm-delegation-confirmed-desktop-light.png b/docs/assets/screenshots/scm-delegation-confirmed-desktop-light.png index 0c760ad89..406c45df3 100644 Binary files a/docs/assets/screenshots/scm-delegation-confirmed-desktop-light.png and b/docs/assets/screenshots/scm-delegation-confirmed-desktop-light.png differ diff --git a/docs/assets/screenshots/scm-delegation-confirmed-mobile-dark.png b/docs/assets/screenshots/scm-delegation-confirmed-mobile-dark.png index 023af58ae..15f8ad29f 100644 Binary files a/docs/assets/screenshots/scm-delegation-confirmed-mobile-dark.png and b/docs/assets/screenshots/scm-delegation-confirmed-mobile-dark.png differ diff --git a/docs/assets/screenshots/scm-delegation-confirmed-mobile-light.png b/docs/assets/screenshots/scm-delegation-confirmed-mobile-light.png index 179ae7636..a5025ba8d 100644 Binary files a/docs/assets/screenshots/scm-delegation-confirmed-mobile-light.png and b/docs/assets/screenshots/scm-delegation-confirmed-mobile-light.png differ diff --git a/docs/assets/screenshots/scm-delegation-review-desktop-dark.png b/docs/assets/screenshots/scm-delegation-review-desktop-dark.png index 85db07933..124ac80dc 100644 Binary files a/docs/assets/screenshots/scm-delegation-review-desktop-dark.png and b/docs/assets/screenshots/scm-delegation-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/scm-delegation-review-desktop-light.png b/docs/assets/screenshots/scm-delegation-review-desktop-light.png index 576473bc9..bf53cfb5d 100644 Binary files a/docs/assets/screenshots/scm-delegation-review-desktop-light.png and b/docs/assets/screenshots/scm-delegation-review-desktop-light.png differ diff --git a/docs/assets/screenshots/scm-delegation-review-mobile-dark.png b/docs/assets/screenshots/scm-delegation-review-mobile-dark.png index 4e186f8ae..07227304b 100644 Binary files a/docs/assets/screenshots/scm-delegation-review-mobile-dark.png and b/docs/assets/screenshots/scm-delegation-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/scm-delegation-review-mobile-light.png b/docs/assets/screenshots/scm-delegation-review-mobile-light.png index 95b83fd0d..6525b253c 100644 Binary files a/docs/assets/screenshots/scm-delegation-review-mobile-light.png and b/docs/assets/screenshots/scm-delegation-review-mobile-light.png differ diff --git a/docs/assets/screenshots/scm-delegation-scope-desktop-dark.png b/docs/assets/screenshots/scm-delegation-scope-desktop-dark.png index 983e72427..b5c717cdc 100644 Binary files a/docs/assets/screenshots/scm-delegation-scope-desktop-dark.png and b/docs/assets/screenshots/scm-delegation-scope-desktop-dark.png differ diff --git a/docs/assets/screenshots/scm-delegation-scope-desktop-light.png b/docs/assets/screenshots/scm-delegation-scope-desktop-light.png index af824b36e..5ee002c7d 100644 Binary files a/docs/assets/screenshots/scm-delegation-scope-desktop-light.png and b/docs/assets/screenshots/scm-delegation-scope-desktop-light.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-confirmed-desktop-dark.png b/docs/assets/screenshots/scm-poll-continuation-confirmed-desktop-dark.png index c4d64e1f7..16f902716 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-confirmed-desktop-dark.png and b/docs/assets/screenshots/scm-poll-continuation-confirmed-desktop-dark.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-confirmed-desktop-light.png b/docs/assets/screenshots/scm-poll-continuation-confirmed-desktop-light.png index 13c0d44f1..aa100ede8 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-confirmed-desktop-light.png and b/docs/assets/screenshots/scm-poll-continuation-confirmed-desktop-light.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-confirmed-mobile-dark.png b/docs/assets/screenshots/scm-poll-continuation-confirmed-mobile-dark.png index be9dc9f9d..237634fcd 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-confirmed-mobile-dark.png and b/docs/assets/screenshots/scm-poll-continuation-confirmed-mobile-dark.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-confirmed-mobile-light.png b/docs/assets/screenshots/scm-poll-continuation-confirmed-mobile-light.png index 2e051c425..d866f9b62 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-confirmed-mobile-light.png and b/docs/assets/screenshots/scm-poll-continuation-confirmed-mobile-light.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-mapping-desktop-dark.png b/docs/assets/screenshots/scm-poll-continuation-mapping-desktop-dark.png index fca27e82f..4c05936ba 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-mapping-desktop-dark.png and b/docs/assets/screenshots/scm-poll-continuation-mapping-desktop-dark.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-mapping-desktop-light.png b/docs/assets/screenshots/scm-poll-continuation-mapping-desktop-light.png index 9e94cda08..5a8a58290 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-mapping-desktop-light.png and b/docs/assets/screenshots/scm-poll-continuation-mapping-desktop-light.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-mapping-mobile-dark.png b/docs/assets/screenshots/scm-poll-continuation-mapping-mobile-dark.png index 3bef3aefe..845f32ea2 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-mapping-mobile-dark.png and b/docs/assets/screenshots/scm-poll-continuation-mapping-mobile-dark.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-mapping-mobile-light.png b/docs/assets/screenshots/scm-poll-continuation-mapping-mobile-light.png index 19ee86c0b..fa1832881 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-mapping-mobile-light.png and b/docs/assets/screenshots/scm-poll-continuation-mapping-mobile-light.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-review-desktop-dark.png b/docs/assets/screenshots/scm-poll-continuation-review-desktop-dark.png index 5fc4b34fd..9426d913a 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-review-desktop-dark.png and b/docs/assets/screenshots/scm-poll-continuation-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-review-desktop-light.png b/docs/assets/screenshots/scm-poll-continuation-review-desktop-light.png index 54af35efb..f194e67f0 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-review-desktop-light.png and b/docs/assets/screenshots/scm-poll-continuation-review-desktop-light.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-review-mobile-dark.png b/docs/assets/screenshots/scm-poll-continuation-review-mobile-dark.png index 1d2eea6e3..1b98bdb9b 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-review-mobile-dark.png and b/docs/assets/screenshots/scm-poll-continuation-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-review-mobile-light.png b/docs/assets/screenshots/scm-poll-continuation-review-mobile-light.png index b140ddce6..98f575046 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-review-mobile-light.png and b/docs/assets/screenshots/scm-poll-continuation-review-mobile-light.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-scope-desktop-dark.png b/docs/assets/screenshots/scm-poll-continuation-scope-desktop-dark.png index dab2354ed..e856064d5 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-scope-desktop-dark.png and b/docs/assets/screenshots/scm-poll-continuation-scope-desktop-dark.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-scope-desktop-light.png b/docs/assets/screenshots/scm-poll-continuation-scope-desktop-light.png index 1f1c56d99..5fddede13 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-scope-desktop-light.png and b/docs/assets/screenshots/scm-poll-continuation-scope-desktop-light.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-scope-mobile-dark.png b/docs/assets/screenshots/scm-poll-continuation-scope-mobile-dark.png index 712a1ee22..2737db71a 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-scope-mobile-dark.png and b/docs/assets/screenshots/scm-poll-continuation-scope-mobile-dark.png differ diff --git a/docs/assets/screenshots/scm-poll-continuation-scope-mobile-light.png b/docs/assets/screenshots/scm-poll-continuation-scope-mobile-light.png index 94af90992..06b70805e 100644 Binary files a/docs/assets/screenshots/scm-poll-continuation-scope-mobile-light.png and b/docs/assets/screenshots/scm-poll-continuation-scope-mobile-light.png differ diff --git a/docs/assets/screenshots/search-access-desktop-dark.png b/docs/assets/screenshots/search-access-desktop-dark.png index 96434100d..b67bc750f 100644 Binary files a/docs/assets/screenshots/search-access-desktop-dark.png and b/docs/assets/screenshots/search-access-desktop-dark.png differ diff --git a/docs/assets/screenshots/search-access-desktop-light.png b/docs/assets/screenshots/search-access-desktop-light.png index f11ab2afd..1ef63d099 100644 Binary files a/docs/assets/screenshots/search-access-desktop-light.png and b/docs/assets/screenshots/search-access-desktop-light.png differ diff --git a/docs/assets/screenshots/search-access-mobile-dark.png b/docs/assets/screenshots/search-access-mobile-dark.png index 0a50f5a86..aac9183b1 100644 Binary files a/docs/assets/screenshots/search-access-mobile-dark.png and b/docs/assets/screenshots/search-access-mobile-dark.png differ diff --git a/docs/assets/screenshots/search-access-mobile-light.png b/docs/assets/screenshots/search-access-mobile-light.png index 688ff3f62..a1885c03d 100644 Binary files a/docs/assets/screenshots/search-access-mobile-light.png and b/docs/assets/screenshots/search-access-mobile-light.png differ diff --git a/docs/assets/screenshots/search-provider-desktop-dark.png b/docs/assets/screenshots/search-provider-desktop-dark.png index de973e005..3db69158e 100644 Binary files a/docs/assets/screenshots/search-provider-desktop-dark.png and b/docs/assets/screenshots/search-provider-desktop-dark.png differ diff --git a/docs/assets/screenshots/search-provider-desktop-light.png b/docs/assets/screenshots/search-provider-desktop-light.png index 421adc693..3af328e42 100644 Binary files a/docs/assets/screenshots/search-provider-desktop-light.png and b/docs/assets/screenshots/search-provider-desktop-light.png differ diff --git a/docs/assets/screenshots/search-provider-mobile-dark.png b/docs/assets/screenshots/search-provider-mobile-dark.png index 901081646..50965623f 100644 Binary files a/docs/assets/screenshots/search-provider-mobile-dark.png and b/docs/assets/screenshots/search-provider-mobile-dark.png differ diff --git a/docs/assets/screenshots/search-provider-mobile-light.png b/docs/assets/screenshots/search-provider-mobile-light.png index 0ed50aef7..b138b11d4 100644 Binary files a/docs/assets/screenshots/search-provider-mobile-light.png and b/docs/assets/screenshots/search-provider-mobile-light.png differ diff --git a/docs/assets/screenshots/search-review-desktop-dark.png b/docs/assets/screenshots/search-review-desktop-dark.png index 4e96845e1..4afed700b 100644 Binary files a/docs/assets/screenshots/search-review-desktop-dark.png and b/docs/assets/screenshots/search-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/search-review-desktop-light.png b/docs/assets/screenshots/search-review-desktop-light.png index e49d6f4ae..a1b49090b 100644 Binary files a/docs/assets/screenshots/search-review-desktop-light.png and b/docs/assets/screenshots/search-review-desktop-light.png differ diff --git a/docs/assets/screenshots/search-review-mobile-dark.png b/docs/assets/screenshots/search-review-mobile-dark.png index d4d82c108..2b6188e9c 100644 Binary files a/docs/assets/screenshots/search-review-mobile-dark.png and b/docs/assets/screenshots/search-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/search-review-mobile-light.png b/docs/assets/screenshots/search-review-mobile-light.png index 0002fa63e..4cc1675f1 100644 Binary files a/docs/assets/screenshots/search-review-mobile-light.png and b/docs/assets/screenshots/search-review-mobile-light.png differ diff --git a/docs/assets/screenshots/search-saved-desktop-dark.png b/docs/assets/screenshots/search-saved-desktop-dark.png index 15ea167cc..3fbbf3830 100644 Binary files a/docs/assets/screenshots/search-saved-desktop-dark.png and b/docs/assets/screenshots/search-saved-desktop-dark.png differ diff --git a/docs/assets/screenshots/search-saved-desktop-light.png b/docs/assets/screenshots/search-saved-desktop-light.png index f1ff781a1..103404a2a 100644 Binary files a/docs/assets/screenshots/search-saved-desktop-light.png and b/docs/assets/screenshots/search-saved-desktop-light.png differ diff --git a/docs/assets/screenshots/search-saved-mobile-dark.png b/docs/assets/screenshots/search-saved-mobile-dark.png index ae5e6f5ee..2143116d6 100644 Binary files a/docs/assets/screenshots/search-saved-mobile-dark.png and b/docs/assets/screenshots/search-saved-mobile-dark.png differ diff --git a/docs/assets/screenshots/search-saved-mobile-light.png b/docs/assets/screenshots/search-saved-mobile-light.png index 3424ae2e2..9cadf1ed5 100644 Binary files a/docs/assets/screenshots/search-saved-mobile-light.png and b/docs/assets/screenshots/search-saved-mobile-light.png differ diff --git a/docs/assets/screenshots/source-analysis-evidence-desktop-dark.png b/docs/assets/screenshots/source-analysis-evidence-desktop-dark.png index e3ccbec2e..f3fedcbcb 100644 Binary files a/docs/assets/screenshots/source-analysis-evidence-desktop-dark.png and b/docs/assets/screenshots/source-analysis-evidence-desktop-dark.png differ diff --git a/docs/assets/screenshots/source-analysis-evidence-desktop-light.png b/docs/assets/screenshots/source-analysis-evidence-desktop-light.png index 7374214eb..59ba45492 100644 Binary files a/docs/assets/screenshots/source-analysis-evidence-desktop-light.png and b/docs/assets/screenshots/source-analysis-evidence-desktop-light.png differ diff --git a/docs/assets/screenshots/source-analysis-evidence-mobile-dark.png b/docs/assets/screenshots/source-analysis-evidence-mobile-dark.png index 7ece07600..814c27796 100644 Binary files a/docs/assets/screenshots/source-analysis-evidence-mobile-dark.png and b/docs/assets/screenshots/source-analysis-evidence-mobile-dark.png differ diff --git a/docs/assets/screenshots/source-analysis-evidence-mobile-light.png b/docs/assets/screenshots/source-analysis-evidence-mobile-light.png index f39733cc2..1de81e7db 100644 Binary files a/docs/assets/screenshots/source-analysis-evidence-mobile-light.png and b/docs/assets/screenshots/source-analysis-evidence-mobile-light.png differ diff --git a/docs/assets/screenshots/source-analysis-receipt-desktop-dark.png b/docs/assets/screenshots/source-analysis-receipt-desktop-dark.png index 11e66b303..fa23726eb 100644 Binary files a/docs/assets/screenshots/source-analysis-receipt-desktop-dark.png and b/docs/assets/screenshots/source-analysis-receipt-desktop-dark.png differ diff --git a/docs/assets/screenshots/source-analysis-receipt-desktop-light.png b/docs/assets/screenshots/source-analysis-receipt-desktop-light.png index 13feb62c2..2cf9945cd 100644 Binary files a/docs/assets/screenshots/source-analysis-receipt-desktop-light.png and b/docs/assets/screenshots/source-analysis-receipt-desktop-light.png differ diff --git a/docs/assets/screenshots/source-analysis-receipt-mobile-dark.png b/docs/assets/screenshots/source-analysis-receipt-mobile-dark.png index 805790fde..6543ba1ee 100644 Binary files a/docs/assets/screenshots/source-analysis-receipt-mobile-dark.png and b/docs/assets/screenshots/source-analysis-receipt-mobile-dark.png differ diff --git a/docs/assets/screenshots/source-analysis-receipt-mobile-light.png b/docs/assets/screenshots/source-analysis-receipt-mobile-light.png index fb7b8f5a2..c31cb90c2 100644 Binary files a/docs/assets/screenshots/source-analysis-receipt-mobile-light.png and b/docs/assets/screenshots/source-analysis-receipt-mobile-light.png differ diff --git a/docs/assets/screenshots/source-analysis-review-desktop-dark.png b/docs/assets/screenshots/source-analysis-review-desktop-dark.png index 465fd854b..2ecaee468 100644 Binary files a/docs/assets/screenshots/source-analysis-review-desktop-dark.png and b/docs/assets/screenshots/source-analysis-review-desktop-dark.png differ diff --git a/docs/assets/screenshots/source-analysis-review-desktop-light.png b/docs/assets/screenshots/source-analysis-review-desktop-light.png index d52c2510b..d18c25963 100644 Binary files a/docs/assets/screenshots/source-analysis-review-desktop-light.png and b/docs/assets/screenshots/source-analysis-review-desktop-light.png differ diff --git a/docs/assets/screenshots/source-analysis-review-mobile-dark.png b/docs/assets/screenshots/source-analysis-review-mobile-dark.png index 7239dd49c..5e8e96391 100644 Binary files a/docs/assets/screenshots/source-analysis-review-mobile-dark.png and b/docs/assets/screenshots/source-analysis-review-mobile-dark.png differ diff --git a/docs/assets/screenshots/source-analysis-review-mobile-light.png b/docs/assets/screenshots/source-analysis-review-mobile-light.png index f051f88fd..82037d2de 100644 Binary files a/docs/assets/screenshots/source-analysis-review-mobile-light.png and b/docs/assets/screenshots/source-analysis-review-mobile-light.png differ diff --git a/docs/assets/screenshots/source-analysis-scope-desktop-dark.png b/docs/assets/screenshots/source-analysis-scope-desktop-dark.png index 7c00979f4..872a3c25b 100644 Binary files a/docs/assets/screenshots/source-analysis-scope-desktop-dark.png and b/docs/assets/screenshots/source-analysis-scope-desktop-dark.png differ diff --git a/docs/assets/screenshots/source-analysis-scope-desktop-light.png b/docs/assets/screenshots/source-analysis-scope-desktop-light.png index db08e96e6..0a830eadb 100644 Binary files a/docs/assets/screenshots/source-analysis-scope-desktop-light.png and b/docs/assets/screenshots/source-analysis-scope-desktop-light.png differ diff --git a/docs/assets/screenshots/source-analysis-scope-mobile-dark.png b/docs/assets/screenshots/source-analysis-scope-mobile-dark.png index 78f94469d..85d748ba6 100644 Binary files a/docs/assets/screenshots/source-analysis-scope-mobile-dark.png and b/docs/assets/screenshots/source-analysis-scope-mobile-dark.png differ diff --git a/docs/assets/screenshots/source-analysis-scope-mobile-light.png b/docs/assets/screenshots/source-analysis-scope-mobile-light.png index 0eee39c63..7fb0fb9cb 100644 Binary files a/docs/assets/screenshots/source-analysis-scope-mobile-light.png and b/docs/assets/screenshots/source-analysis-scope-mobile-light.png differ diff --git a/docs/assets/screenshots/walkthrough-manifest.json b/docs/assets/screenshots/walkthrough-manifest.json index 2c0f07727..b70d56a99 100644 --- a/docs/assets/screenshots/walkthrough-manifest.json +++ b/docs/assets/screenshots/walkthrough-manifest.json @@ -5,11 +5,11 @@ "captures": { "connect-workspace-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-workspace-desktop-light.png", "stage": "connect-workspace", "theme": "light", @@ -19,7 +19,7 @@ "width": 1440, "height": 900 }, - "sha256": "31ed2be1541631004c008790ea02189e3e47d356df466a58743cdf12c8f49eeb", + "sha256": "bccb1284607aa3c4ac4f43e88a27d9fb322a245d8a5fe3878cb8cbfddf75ed7e", "action": { "label": "Continue", "top": 713.078125, @@ -45,11 +45,11 @@ }, "connect-coding-ai-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-coding-ai-desktop-light.png", "stage": "connect-coding-ai", "theme": "light", @@ -59,7 +59,7 @@ "width": 1440, "height": 900 }, - "sha256": "dfb021db70e5bba973be7128b92c961a060531c5914249f5602a2722d970b903", + "sha256": "8ff91c2b8351e04132fbfe8bd192630307d5873bea138c3d04f0402564205c4c", "action": { "label": "Continue", "top": 713.078125, @@ -85,11 +85,11 @@ }, "connect-repositories-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-repositories-desktop-light.png", "stage": "connect-repositories", "theme": "light", @@ -99,7 +99,7 @@ "width": 1440, "height": 900 }, - "sha256": "5b750fecbc3e141806afbc89516a9b97580d0ee6b73eaf2dc12dc4e9f7de5ebd", + "sha256": "551f0983c4b6af3b10d997c0508c46764535604dfacc60361c82b97ce59b4d66", "action": { "label": "Continue to knowledge", "top": 713.078125, @@ -125,11 +125,11 @@ }, "connect-knowledge-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-knowledge-desktop-light.png", "stage": "connect-knowledge", "theme": "light", @@ -139,7 +139,7 @@ "width": 1440, "height": 900 }, - "sha256": "86a8bac5eb9ff9fde472d18016004e27a57bb458f11211acd5726d9a2ccb24fe", + "sha256": "05a05c65b57f1faeb29da4be7350da896c76a93ad45e10a882bf20d01a45a063", "action": { "label": "Open production floor", "top": 713.078125, @@ -165,11 +165,11 @@ }, "product-context-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-context-desktop-light.png", "stage": "product-context", "theme": "light", @@ -179,7 +179,7 @@ "width": 1440, "height": 900 }, - "sha256": "6b21176834547243f4bd95afd3ee77613ef30c921cbdb696bb6f71de0c7445c9", + "sha256": "e9a7c1940fd1971abe87ffe549a7be9a958d8c60c8e250241bdfc174571ec2d2", "action": { "label": "Continue", "top": 738.15625, @@ -205,11 +205,11 @@ }, "product-journeys-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-journeys-desktop-light.png", "stage": "product-journeys", "theme": "light", @@ -219,7 +219,7 @@ "width": 1440, "height": 900 }, - "sha256": "360c20ef35750bbc7fa6b83dcfe320fdb5e5130308a1c1bec1080aa34993f169", + "sha256": "126d52ebd5856861ac3c1f945d3b62cb324ad77077b2271377824489e6fb97ee", "action": { "label": "Continue", "top": 738.15625, @@ -245,11 +245,11 @@ }, "product-features-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-features-desktop-light.png", "stage": "product-features", "theme": "light", @@ -259,7 +259,7 @@ "width": 1440, "height": 900 }, - "sha256": "d855b5c9d6b289a31acec1dab49a1bac1930e893d5f8cb63b9673860e5cc2c12", + "sha256": "6b1ce1c7b97c89793903c4ec59eeb6cc8457cd4b17c436b2564e61b2a93b8c3c", "action": { "label": "Continue", "top": 738.15625, @@ -285,11 +285,11 @@ }, "product-integrations-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-integrations-desktop-light.png", "stage": "product-integrations", "theme": "light", @@ -299,7 +299,7 @@ "width": 1440, "height": 900 }, - "sha256": "d921e0c34735be62f159656a9563ebf08351fc48dc310b878992bd619f073037", + "sha256": "459f8807c0c9049562af0bbe894190efab9b5e619fc30c6f320dda11c452f1b5", "action": { "label": "Review definition", "top": 738.15625, @@ -325,11 +325,11 @@ }, "product-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-review-desktop-light.png", "stage": "product-review", "theme": "light", @@ -339,7 +339,7 @@ "width": 1440, "height": 900 }, - "sha256": "5e1b765e7ad4a11f620d2078f4902d815cf856bfd8d89c0f73fa702fb8714586", + "sha256": "fd89cf864e27924c6f306fa241d4632400e649995a392f51349bdf1b0848292d", "action": { "label": "Save draft definition", "top": 738.15625, @@ -365,11 +365,11 @@ }, "run-brief-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-brief-desktop-light.png", "stage": "run-brief", "theme": "light", @@ -379,7 +379,7 @@ "width": 1440, "height": 900 }, - "sha256": "6d1fca627481c6411b3088b0eb8960537f64dcbf148c7d298feb937e104fdb59", + "sha256": "107cb913a9b7614f5d5283f57d1ffac0359995e1ee73c023fdaca98c680dd12f", "action": { "label": "Continue", "top": 713.078125, @@ -405,11 +405,11 @@ }, "run-foundation-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-foundation-desktop-light.png", "stage": "run-foundation", "theme": "light", @@ -419,7 +419,7 @@ "width": 1440, "height": 900 }, - "sha256": "1d0efc41060c669c837a8e2d7b3f113d131ad72d59778a90ebedfa7c4cab8350", + "sha256": "21ab108af43c66fc78f7623ea2a9c44b2e578ac168f496e30b2525ba02df244d", "action": { "label": "Continue", "top": 713.078125, @@ -445,11 +445,11 @@ }, "run-checks-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-checks-desktop-light.png", "stage": "run-checks", "theme": "light", @@ -459,7 +459,7 @@ "width": 1440, "height": 900 }, - "sha256": "8c4a49ad8640381cc21f37be24f95cf39d83b4821c51d80af253b67c6cfd9f93", + "sha256": "009eddb1a7a6b147c2f321dbe69fb4334c7bd46a9de080417f26185cf06e51f4", "action": { "label": "Review run", "top": 713.078125, @@ -485,11 +485,11 @@ }, "run-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-review-desktop-light.png", "stage": "run-review", "theme": "light", @@ -499,7 +499,7 @@ "width": 1440, "height": 900 }, - "sha256": "b96314b1587aada58478f5287bbaf465c2bd4b3e21087ded1821ba3e56509bc1", + "sha256": "b0989831daf199bce021ac92d3f68af9799e7b7a1a8f9efc3ee4caad64287373", "action": { "label": "Start building", "top": 713.078125, @@ -525,11 +525,11 @@ }, "factory-overview-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/factory-overview-desktop-light.png", "stage": "factory-overview", "theme": "light", @@ -539,17 +539,17 @@ "width": 1440, "height": 900 }, - "sha256": "b20420c2ec5c9aa672c1109a4fad7a7bcaeb427e7cbb1e19253bb48474d59400", + "sha256": "5fbd98554fdb5cf31cd24e5d36a5da507a993d81aa5479e3417489be4eae3069", "action": null, "captured_action": null }, "evidence-changes-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-changes-desktop-light.png", "stage": "evidence-changes", "theme": "light", @@ -559,17 +559,17 @@ "width": 1440, "height": 900 }, - "sha256": "1f8a5d58676090c2633dc55ca1e5178d0b340aad7a1637260df21740f7cb239a", + "sha256": "f7eb91f43382d6af109b7b1ba5dbf0af808653d44dd707622d4ae96b3bbc55d9", "action": null, "captured_action": null }, "evidence-verification-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-verification-desktop-light.png", "stage": "evidence-verification", "theme": "light", @@ -579,17 +579,17 @@ "width": 1440, "height": 900 }, - "sha256": "d164a2af0ac01e152c9cdbdb7cc1c5fcd03b24faeac2d581c6c190dd7bd858b8", + "sha256": "f8511acaf53425847c0fad19205d9bc34b5d7152cf31d14dd3676fad6fc3792d", "action": null, "captured_action": null }, "evidence-plan-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-plan-desktop-light.png", "stage": "evidence-plan", "theme": "light", @@ -599,17 +599,17 @@ "width": 1440, "height": 900 }, - "sha256": "727451ed76d857a1f35ac7ded1ea6f7d59b8489f11b97d68ecb20dda21d471d4", + "sha256": "f734c8f153a5a582d0049cf4b6b1b600b12db28a6b373659a3b5444117351fc8", "action": null, "captured_action": null }, "evidence-artifacts-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-artifacts-desktop-light.png", "stage": "evidence-artifacts", "theme": "light", @@ -619,17 +619,17 @@ "width": 1440, "height": 900 }, - "sha256": "00d46d97158727fe3535add4a37ed61298071f233dca510fe43b240bb7d69329", + "sha256": "fd3feef266fdf1cfbf4055b420535dbc8cb6932025761fe42a3368811d0efbda", "action": null, "captured_action": null }, "connect-workspace-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-workspace-desktop-dark.png", "stage": "connect-workspace", "theme": "dark", @@ -639,7 +639,7 @@ "width": 1440, "height": 900 }, - "sha256": "e59f7a8f5d2fe421556d2f2dfd85e04f003db31a56123a1e96b715b370e632ed", + "sha256": "85b8e0778ba58ef1b613529651ab435a9844dedfe1d4c1f757c827b43e933627", "action": { "label": "Continue", "top": 713.078125, @@ -665,11 +665,11 @@ }, "connect-coding-ai-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-coding-ai-desktop-dark.png", "stage": "connect-coding-ai", "theme": "dark", @@ -679,7 +679,7 @@ "width": 1440, "height": 900 }, - "sha256": "bdd75e4ee2fa90f0703f33434eec6526fd70e4d68c972eaf06611243a2208700", + "sha256": "3447cd8fc792b6ab54bd2a9d7554c7883fadf531211703f5846f4015f3f47364", "action": { "label": "Continue", "top": 713.078125, @@ -705,11 +705,11 @@ }, "connect-repositories-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-repositories-desktop-dark.png", "stage": "connect-repositories", "theme": "dark", @@ -719,7 +719,7 @@ "width": 1440, "height": 900 }, - "sha256": "68fa28ad672edae3d927f4fb2d85ad8e48a33bdbb9841b443f9a6793c9edbe69", + "sha256": "6597e11023ec6a10a8fe78f96e344ba72ee7fe6e762a998a04118e2690211005", "action": { "label": "Continue to knowledge", "top": 713.078125, @@ -745,11 +745,11 @@ }, "connect-knowledge-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-knowledge-desktop-dark.png", "stage": "connect-knowledge", "theme": "dark", @@ -759,7 +759,7 @@ "width": 1440, "height": 900 }, - "sha256": "07896443f9118c4ebdc3832535d7b6394420c3bae830862b20e0024f7fd85118", + "sha256": "71100fd2436316c048222f80d4e3049c1efa3e6ce76f9bb37c232919a439f817", "action": { "label": "Open production floor", "top": 713.078125, @@ -785,11 +785,11 @@ }, "product-context-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-context-desktop-dark.png", "stage": "product-context", "theme": "dark", @@ -799,7 +799,7 @@ "width": 1440, "height": 900 }, - "sha256": "c76083d9fa1018adbf7dd46d979a248f16b9d5fdda64fde4d5114eaedf1ca1b1", + "sha256": "587e9e7393884982121f0b20be3a308502370ea566ebb0b679c95bc41a8b0051", "action": { "label": "Continue", "top": 738.15625, @@ -825,11 +825,11 @@ }, "product-journeys-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-journeys-desktop-dark.png", "stage": "product-journeys", "theme": "dark", @@ -839,7 +839,7 @@ "width": 1440, "height": 900 }, - "sha256": "cf49dd80ad30ae138a0127e7a8a2711058a42bab700aa8d82ef7643c83deb7ba", + "sha256": "93f1b696cc31606b37df4536cc9688af2c1f76b57e78195a4a48c4c429aec602", "action": { "label": "Continue", "top": 738.15625, @@ -865,11 +865,11 @@ }, "product-features-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-features-desktop-dark.png", "stage": "product-features", "theme": "dark", @@ -879,7 +879,7 @@ "width": 1440, "height": 900 }, - "sha256": "71f00d56140072689ae3fd80033b7da8269e0f96a77f041019f2b17d9ec4dc55", + "sha256": "32f0ca9071bcd099f0246e978d9e6d3fb5b42174a886e0edb684b5c4d1126980", "action": { "label": "Continue", "top": 738.15625, @@ -905,11 +905,11 @@ }, "product-integrations-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-integrations-desktop-dark.png", "stage": "product-integrations", "theme": "dark", @@ -919,7 +919,7 @@ "width": 1440, "height": 900 }, - "sha256": "663f058ccd3fbec4635f010488f078a6fbacebde6e39d65f57013bd66937ce6a", + "sha256": "52b967859e6e04c69fd5dafe420d2883e5ba85b67a403875d0d622fc1a5e6a3d", "action": { "label": "Review definition", "top": 738.15625, @@ -945,11 +945,11 @@ }, "product-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-review-desktop-dark.png", "stage": "product-review", "theme": "dark", @@ -959,7 +959,7 @@ "width": 1440, "height": 900 }, - "sha256": "f440e85c76be0d6cce5b9d4def22c945ab3519e83b61add73912f82dc9ae7eb8", + "sha256": "1387a24450f64f4ed452436d8387b87044682c082fcf6f093249b790affc8b56", "action": { "label": "Save draft definition", "top": 738.15625, @@ -985,11 +985,11 @@ }, "run-brief-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-brief-desktop-dark.png", "stage": "run-brief", "theme": "dark", @@ -999,7 +999,7 @@ "width": 1440, "height": 900 }, - "sha256": "b2ebd0fc36ebe5f4e1f8b2661524a9b6cb32c2f118542de6978a13e3d4fad4a5", + "sha256": "d8c610d78f3d1d4239cec9518c3dc7e7f1981af7f933364b29606baf48084ae5", "action": { "label": "Continue", "top": 713.078125, @@ -1025,11 +1025,11 @@ }, "run-foundation-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-foundation-desktop-dark.png", "stage": "run-foundation", "theme": "dark", @@ -1039,7 +1039,7 @@ "width": 1440, "height": 900 }, - "sha256": "0f0c01ef506f4fc50491ae8a84b63acd6fb8f78095858531a56b1e6115b3a54d", + "sha256": "81249b9f36cfa72ffdfcd4ea7ae9223eac7e2d8c82cf53e5e25225c397b12468", "action": { "label": "Continue", "top": 713.078125, @@ -1065,11 +1065,11 @@ }, "run-checks-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-checks-desktop-dark.png", "stage": "run-checks", "theme": "dark", @@ -1079,7 +1079,7 @@ "width": 1440, "height": 900 }, - "sha256": "157ed57d73bc21be53ea0e0d6e8a3cd5453ee882ba168d1d5cbb6f19cbffca62", + "sha256": "c576824dc8a816be35abc18754477ec55f6ef38f724453a2ba4b04c9e8523af6", "action": { "label": "Review run", "top": 713.078125, @@ -1105,11 +1105,11 @@ }, "run-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-review-desktop-dark.png", "stage": "run-review", "theme": "dark", @@ -1119,7 +1119,7 @@ "width": 1440, "height": 900 }, - "sha256": "bbd77999daaa4dcd59c22b2219f2258682a9461bb250d3f6cb8aad149b4f2613", + "sha256": "2057f1e0f2beb7e26c7809361343d5a3f1905dd30a622209c91017c88996b2ae", "action": { "label": "Start building", "top": 713.078125, @@ -1145,11 +1145,11 @@ }, "factory-overview-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/factory-overview-desktop-dark.png", "stage": "factory-overview", "theme": "dark", @@ -1159,17 +1159,17 @@ "width": 1440, "height": 900 }, - "sha256": "9e5aa3f007de0b41b9ffc1e095b26abe97194923ce67a373322887613e151f43", + "sha256": "edd781557d772998477312d89495f46191996624d044c665c770e5f4ec35d5e9", "action": null, "captured_action": null }, "evidence-changes-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-changes-desktop-dark.png", "stage": "evidence-changes", "theme": "dark", @@ -1179,17 +1179,17 @@ "width": 1440, "height": 900 }, - "sha256": "5ea87fee9fb80edfb07d0e3caa933daac255e0a6a9f4fe0bd2b717ccc2f3225a", + "sha256": "9d139455d1559b56042c63c67390505ee2e028922302968b353ab40fc49a8381", "action": null, "captured_action": null }, "evidence-verification-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-verification-desktop-dark.png", "stage": "evidence-verification", "theme": "dark", @@ -1199,17 +1199,17 @@ "width": 1440, "height": 900 }, - "sha256": "c3daaf2d6b31d28c29028488bc723dc8f0c1452a9dfba62b21104281eafd093e", + "sha256": "af3b6cafe10bcd7ff100bb0f2076b1f50df05db0034cb011ad1741e9722a2066", "action": null, "captured_action": null }, "evidence-plan-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-plan-desktop-dark.png", "stage": "evidence-plan", "theme": "dark", @@ -1219,17 +1219,17 @@ "width": 1440, "height": 900 }, - "sha256": "2f9677eaedd25032ac31aeced60d7f6e9594c7710d5104bc705b77c6040265d7", + "sha256": "29765e2d77c082e1986a9c9c1e2566da63e49fa561c2879be66af7ad38cd96e5", "action": null, "captured_action": null }, "evidence-artifacts-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-artifacts-desktop-dark.png", "stage": "evidence-artifacts", "theme": "dark", @@ -1239,17 +1239,17 @@ "width": 1440, "height": 900 }, - "sha256": "bd2e25a834613a53508716fff38e54f395ee7fe5cbb9d38de4931b75e115e456", + "sha256": "30bddc9569ab15bae9fed5a69676149accffcbc6dfd5eb2d87ba08bc3f9a357e", "action": null, "captured_action": null }, "connect-workspace-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-workspace-mobile-light.png", "stage": "connect-workspace", "theme": "light", @@ -1259,7 +1259,7 @@ "width": 390, "height": 844 }, - "sha256": "3cfc737072eb2aa3e3057e950b1d043646b3d2a01144f2bdc811960608038893", + "sha256": "b1d539de0f748e388df2399338d8bb4f89c337b5d74521e73afc0c75a96fd813", "action": { "label": "Continue", "top": 693.078125, @@ -1285,11 +1285,11 @@ }, "connect-coding-ai-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-coding-ai-mobile-light.png", "stage": "connect-coding-ai", "theme": "light", @@ -1299,7 +1299,7 @@ "width": 390, "height": 844 }, - "sha256": "123650fe032b15cf35f034f11d8c4aed8bae6eac37bfbe65b2eca46ea375a41e", + "sha256": "c568ca4320dabc7848e5a593b5544d0fcb215d33f42f6d5b180adc69d508ff3d", "action": { "label": "Continue", "top": 693.078125, @@ -1325,11 +1325,11 @@ }, "connect-repositories-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-repositories-mobile-light.png", "stage": "connect-repositories", "theme": "light", @@ -1339,7 +1339,7 @@ "width": 390, "height": 844 }, - "sha256": "a8f1bbdfbc2e34db6f42c7588ea529c4fc2c505ea827bbe3e5bda30623c6430e", + "sha256": "35175a4c8a2b20fbfe56215a931f045abb4dc59c5ffc8cff81eb7c79439da6f9", "action": { "label": "Continue to knowledge", "top": 585.921875, @@ -1365,11 +1365,11 @@ }, "connect-knowledge-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-knowledge-mobile-light.png", "stage": "connect-knowledge", "theme": "light", @@ -1379,7 +1379,7 @@ "width": 390, "height": 844 }, - "sha256": "134183e2e89ba684cd3ce6d09c3eeeefe933788ff254926ab1c23bdddcd2ef59", + "sha256": "e13a8887a18f57a870698d3e683c1b00dce8411cbc441b2423e3b23c777aa504", "action": { "label": "Open production floor", "top": 693.078125, @@ -1405,11 +1405,11 @@ }, "product-context-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-context-mobile-light.png", "stage": "product-context", "theme": "light", @@ -1419,7 +1419,7 @@ "width": 390, "height": 844 }, - "sha256": "3b384a92c8deae71875ce3e026f4ececd3d0f84d78de9274744ccaa06b5e9a70", + "sha256": "20bc355c5c3f747c9874f7beae32ffdf79d93039b1f9482b2eefaf8e0e7f419d", "action": { "label": "Continue", "top": 714.09375, @@ -1445,11 +1445,11 @@ }, "product-journeys-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-journeys-mobile-light.png", "stage": "product-journeys", "theme": "light", @@ -1459,7 +1459,7 @@ "width": 390, "height": 844 }, - "sha256": "e6fd7364b88c439f2021f007a07d039c0702b5d09c33fee9799474c27745b2e8", + "sha256": "5ce62e7b900859d468a987beaeb500b5c95d57c39fba79cb182e4a5158609969", "action": { "label": "Continue", "top": 729.6875, @@ -1485,11 +1485,11 @@ }, "product-features-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-features-mobile-light.png", "stage": "product-features", "theme": "light", @@ -1499,7 +1499,7 @@ "width": 390, "height": 844 }, - "sha256": "5d11c39336ad8404c815c694eb49188f3e694e14234c592ea97a0e6c7beac368", + "sha256": "6b779f8716141d817c7a5fbc8f9fa8e44228d6d75a940c9aa39993e38ac91ee1", "action": { "label": "Continue", "top": 713.71875, @@ -1525,11 +1525,11 @@ }, "product-integrations-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-integrations-mobile-light.png", "stage": "product-integrations", "theme": "light", @@ -1539,7 +1539,7 @@ "width": 390, "height": 844 }, - "sha256": "d5559674e34053d6dd4eb1a5fe275f7cec06d68883895a6ab61c402837696e9d", + "sha256": "d293f25bca6013b9780263a0c97b5b77674b2d613377ed70ee4ed156f7e98987", "action": { "label": "Review definition", "top": 722.828125, @@ -1565,11 +1565,11 @@ }, "product-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-review-mobile-light.png", "stage": "product-review", "theme": "light", @@ -1579,7 +1579,7 @@ "width": 390, "height": 844 }, - "sha256": "347859d73fb4eb774947b10a33d445b1a39167c64249e4f32185626f04624e31", + "sha256": "6fdef7be92de2392d49bef0d84ac17d2f6d5cb18d54edbdb712f4f1676efdc87", "action": { "label": "Save draft definition", "top": 714.046875, @@ -1605,11 +1605,11 @@ }, "run-brief-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-brief-mobile-light.png", "stage": "run-brief", "theme": "light", @@ -1619,7 +1619,7 @@ "width": 390, "height": 844 }, - "sha256": "bad1455e358215385f2c4a422567f753951a662439b6b0f3275a4b12f5f3e8ee", + "sha256": "647d4551b2eb440cf37a2a303e844d7c8afd62a0a56fafdfa39d7d05d3a1b6b7", "action": { "label": "Continue", "top": 693.078125, @@ -1645,11 +1645,11 @@ }, "run-foundation-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-foundation-mobile-light.png", "stage": "run-foundation", "theme": "light", @@ -1659,7 +1659,7 @@ "width": 390, "height": 844 }, - "sha256": "375d6e7f8ee27c245ac27d6620bcb80a589c7eca60403e2d5cd74667bbf46cef", + "sha256": "517f9abaf2773bfabe632fc9b2f28220b1607e453030f40bb0a1ec1e1a1025aa", "action": { "label": "Continue", "top": 693.078125, @@ -1685,11 +1685,11 @@ }, "run-checks-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-checks-mobile-light.png", "stage": "run-checks", "theme": "light", @@ -1699,7 +1699,7 @@ "width": 390, "height": 844 }, - "sha256": "b631936d472f23e7fc82d096cbdbc4cd17957a2aa7f23c833d90792cbfaea1ad", + "sha256": "9c310693c5efc6103aae09f3dc66c053458d5c4e32d2aab748cbe669e08959ac", "action": { "label": "Review run", "top": 693.078125, @@ -1725,11 +1725,11 @@ }, "run-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-review-mobile-light.png", "stage": "run-review", "theme": "light", @@ -1739,7 +1739,7 @@ "width": 390, "height": 844 }, - "sha256": "b94553002c057e8e4310de3293d0fe458b4c2b0ac504d73b0b47f271bf8bd223", + "sha256": "dda9fbf63a5b0666b2266d95592297653f9c04ab74a559cd369c2870a01a8155", "action": { "label": "Start building", "top": 693.078125, @@ -1765,11 +1765,11 @@ }, "factory-overview-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/factory-overview-mobile-light.png", "stage": "factory-overview", "theme": "light", @@ -1779,17 +1779,17 @@ "width": 390, "height": 844 }, - "sha256": "1c41cfaadeca7bdd4669c7ab611e702373960bc25caa145c03229e038e8655c0", + "sha256": "379f3f9bc4f3e8efc6473b0ef34f51b2254938ca985fa6919d004498cccc9e53", "action": null, "captured_action": null }, "evidence-changes-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-changes-mobile-light.png", "stage": "evidence-changes", "theme": "light", @@ -1799,17 +1799,17 @@ "width": 390, "height": 844 }, - "sha256": "0d4d996ac4ac8e8795d11b48d5685d367ef7e1b736647dd63fc9d66f6e9129d3", + "sha256": "30c69fea783a341b227d84477ba5a1977f51719eb47c639150243c421441c377", "action": null, "captured_action": null }, "evidence-verification-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-verification-mobile-light.png", "stage": "evidence-verification", "theme": "light", @@ -1819,17 +1819,17 @@ "width": 390, "height": 844 }, - "sha256": "6a8d58051e941081cb27f5c26a815a71250dc38c7eb2997944ebcc90d8f1231d", + "sha256": "d9db212af74b61c93868e2bc16f5afc8cb404a9e5be5029e51f3663b1c30b678", "action": null, "captured_action": null }, "evidence-plan-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-plan-mobile-light.png", "stage": "evidence-plan", "theme": "light", @@ -1839,17 +1839,17 @@ "width": 390, "height": 844 }, - "sha256": "2492847eba66778f9cb86a3e624fc2d07a72895a6ae9c435e39177d2a112fffc", + "sha256": "b0e3a1214112fbeef7da362dbdf3eaf22da081af80129677c102766093dd4661", "action": null, "captured_action": null }, "evidence-artifacts-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-artifacts-mobile-light.png", "stage": "evidence-artifacts", "theme": "light", @@ -1859,17 +1859,17 @@ "width": 390, "height": 844 }, - "sha256": "09925420af8c9e459d12d9b61dced4d93228f86f50f1a01a557ce6f3ae549036", + "sha256": "8ebd47512bf2877b6ad79ef16e60156865d880f9ccfd7c7749724f0be68f66f0", "action": null, "captured_action": null }, "connect-workspace-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-workspace-mobile-dark.png", "stage": "connect-workspace", "theme": "dark", @@ -1879,7 +1879,7 @@ "width": 390, "height": 844 }, - "sha256": "ed89d6a31b14a2dafe9b4c054e78ead3a4ddf5b952278fd037659d203946e817", + "sha256": "d8f3f130f31e8972630f823077f55090b73b46a7b832133cefc3ecbbf8cbc078", "action": { "label": "Continue", "top": 693.078125, @@ -1905,11 +1905,11 @@ }, "connect-coding-ai-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-coding-ai-mobile-dark.png", "stage": "connect-coding-ai", "theme": "dark", @@ -1919,7 +1919,7 @@ "width": 390, "height": 844 }, - "sha256": "3c87885478c0b18692acb7ec3bcdd2c11e674eae2b0ea336f26e6c80ea488d9b", + "sha256": "d73eb97449bb71e290aa9dc45631c4b5e3b70be54552b20eea1c846ec78e00c5", "action": { "label": "Continue", "top": 693.078125, @@ -1945,11 +1945,11 @@ }, "connect-repositories-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-repositories-mobile-dark.png", "stage": "connect-repositories", "theme": "dark", @@ -1959,7 +1959,7 @@ "width": 390, "height": 844 }, - "sha256": "f7bd08f38c2dc86753ef011e12faf1d86694bfba7abaafe5da2b3f953ab9fea4", + "sha256": "053c9ac26b278d07896784a560ae7d73871969c28d6aba426ac7fcdc301bf463", "action": { "label": "Continue to knowledge", "top": 585.921875, @@ -1985,11 +1985,11 @@ }, "connect-knowledge-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/connect-knowledge-mobile-dark.png", "stage": "connect-knowledge", "theme": "dark", @@ -1999,7 +1999,7 @@ "width": 390, "height": 844 }, - "sha256": "b96f48ea5232e2cb490ca704707c556aab49700020b1a0377a4aa2e693284e43", + "sha256": "f8252d013e3bf9d33e7b5df93b5f89f591ae619ba65ac29f61edfbb8eea334a7", "action": { "label": "Open production floor", "top": 693.078125, @@ -2025,11 +2025,11 @@ }, "product-context-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-context-mobile-dark.png", "stage": "product-context", "theme": "dark", @@ -2039,7 +2039,7 @@ "width": 390, "height": 844 }, - "sha256": "a4d67ca3d84836d0512adb83eab6bedbb4a3679a7690cc8487e7e7dd81aeba36", + "sha256": "cdd42f1a3c4bbaf4451343d1ba3a4657cea20766b4903f7941b1d3cbefc5b4f7", "action": { "label": "Continue", "top": 714.09375, @@ -2065,11 +2065,11 @@ }, "product-journeys-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-journeys-mobile-dark.png", "stage": "product-journeys", "theme": "dark", @@ -2079,7 +2079,7 @@ "width": 390, "height": 844 }, - "sha256": "3d6a09cd0be19fd20f148a8b17cddf8a64c67e07949700a23ee8eb2098019e4c", + "sha256": "bbfa0c819ce6ee6ada6891d6bfe65a3b5c5ef66bcb949ec1f78bdb8d28b7859e", "action": { "label": "Continue", "top": 729.6875, @@ -2105,11 +2105,11 @@ }, "product-features-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-features-mobile-dark.png", "stage": "product-features", "theme": "dark", @@ -2119,7 +2119,7 @@ "width": 390, "height": 844 }, - "sha256": "ad252e7df1446badd0959ea355fe50877034f50a0e7328f000eab18618087f2a", + "sha256": "b169777876fc70c5cdbd5cd486870ebaa969f906678b4def872214062f5b4e5a", "action": { "label": "Continue", "top": 713.71875, @@ -2145,11 +2145,11 @@ }, "product-integrations-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-integrations-mobile-dark.png", "stage": "product-integrations", "theme": "dark", @@ -2159,7 +2159,7 @@ "width": 390, "height": 844 }, - "sha256": "daae19cbea85b54abef2ca1ce0bf3fdd2a0635b3921bda3fba5905dba57acabb", + "sha256": "0bf2c42956e007e916857b6c6a021b5592ca96c38a5c3d4b058f797ac4d654a6", "action": { "label": "Review definition", "top": 722.828125, @@ -2185,11 +2185,11 @@ }, "product-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-review-mobile-dark.png", "stage": "product-review", "theme": "dark", @@ -2199,7 +2199,7 @@ "width": 390, "height": 844 }, - "sha256": "ebcfa604a1c9af377dd6e9054a25361fa4a575caae3ce5f8c834821a69307700", + "sha256": "f56e05107dc1c4d6f009439d3a90d8e34ebbd06d51e177391b36e446ec550df8", "action": { "label": "Save draft definition", "top": 714.046875, @@ -2225,11 +2225,11 @@ }, "run-brief-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-brief-mobile-dark.png", "stage": "run-brief", "theme": "dark", @@ -2239,7 +2239,7 @@ "width": 390, "height": 844 }, - "sha256": "8b5ee0dc09ce0583045efb543701384a01e9c1e7396d0ec4b8537e664a84ecd9", + "sha256": "e70d28745a5fd483ea11525c8a396f6e4af3df02c4b5def615cf52a2168a2b37", "action": { "label": "Continue", "top": 693.078125, @@ -2265,11 +2265,11 @@ }, "run-foundation-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-foundation-mobile-dark.png", "stage": "run-foundation", "theme": "dark", @@ -2279,7 +2279,7 @@ "width": 390, "height": 844 }, - "sha256": "753c6a0330427b98101b17db26335410d3b55230d1529b337b2fbda0140524a4", + "sha256": "917bf1be59a631fbe86e62e255a7f83e899db553c840c19edc71296a90c41db2", "action": { "label": "Continue", "top": 693.078125, @@ -2305,11 +2305,11 @@ }, "run-checks-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-checks-mobile-dark.png", "stage": "run-checks", "theme": "dark", @@ -2319,7 +2319,7 @@ "width": 390, "height": 844 }, - "sha256": "f1f34875abdba686a2de1fda5c5e2da4a55f46e535be503456d20347e9d884f0", + "sha256": "7be0b2db02eb9ee00c87672dd341ba937d20eb83932e38f850dee52235ef53e6", "action": { "label": "Review run", "top": 693.078125, @@ -2345,11 +2345,11 @@ }, "run-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-review-mobile-dark.png", "stage": "run-review", "theme": "dark", @@ -2359,7 +2359,7 @@ "width": 390, "height": 844 }, - "sha256": "41ce223962cd95523458e1304bf54c5f9c6e18c6ca5ea0e15b19fdfd60667012", + "sha256": "11ddb9cc10b7e6ea8a568729f4f82e27275ae7fe50c04e5bc70b944b4113a5cc", "action": { "label": "Start building", "top": 693.078125, @@ -2385,11 +2385,11 @@ }, "factory-overview-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/factory-overview-mobile-dark.png", "stage": "factory-overview", "theme": "dark", @@ -2399,17 +2399,17 @@ "width": 390, "height": 844 }, - "sha256": "ae13201819f1e2db5102fd2905a7dd182db916e076178787e53ad7b46bd6daa7", + "sha256": "a7e4d4c844a0880beb3230ea15948c2f1439f9babc2ceeef30c2b47c160f289f", "action": null, "captured_action": null }, "evidence-changes-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-changes-mobile-dark.png", "stage": "evidence-changes", "theme": "dark", @@ -2419,17 +2419,17 @@ "width": 390, "height": 844 }, - "sha256": "a691fe8903b9bdaf7fc7fd83dfadc29454e152f1fa207c5cfe13ea6ceb0314a4", + "sha256": "b5ff76519493201bed2eab651c572c8868c1d6770dbbc23769db15597058b643", "action": null, "captured_action": null }, "evidence-verification-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-verification-mobile-dark.png", "stage": "evidence-verification", "theme": "dark", @@ -2439,17 +2439,17 @@ "width": 390, "height": 844 }, - "sha256": "6c3a28eda20bbc49ddf39564deaa0b0cc7978edcbb4842cb514dce1b84954768", + "sha256": "8925747387da38c479f07888e6196aaaf02eb9fbe0f4a80f464467eb3801239e", "action": null, "captured_action": null }, "evidence-plan-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-plan-mobile-dark.png", "stage": "evidence-plan", "theme": "dark", @@ -2459,17 +2459,17 @@ "width": 390, "height": 844 }, - "sha256": "4ce5f56425893318f2a942091db9c4b737526f772cfedb87dca986f64a5c8bbb", + "sha256": "5dcb5f2e1c0ca83467dbac880bd5e4a7cd0a4aa61149d0ec2739245ad62e59c0", "action": null, "captured_action": null }, "evidence-artifacts-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/evidence-artifacts-mobile-dark.png", "stage": "evidence-artifacts", "theme": "dark", @@ -2479,17 +2479,17 @@ "width": 390, "height": 844 }, - "sha256": "1e59f6cb74091173fdcff16d393e03ada1eecb717161af0c6dbddb4787ededfc", + "sha256": "07a99d62c355909589a34e4b5019a06b8cebf3abc11bff1ad80490dcd1c690eb", "action": null, "captured_action": null }, "run-context-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-context-desktop-light.png", "stage": "run-context", "theme": "light", @@ -2499,17 +2499,17 @@ "width": 1440, "height": 900 }, - "sha256": "2300c5c99e03a6f7f6a207f49480571e39cefae29f9bdfc59f5eea4ab53c8ca4", + "sha256": "dc58a351317d3f003e2ac278695b1462554319476a11100e1f6820becbc5f835", "action": null, "captured_action": null }, "run-context-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-context-desktop-dark.png", "stage": "run-context", "theme": "dark", @@ -2519,17 +2519,17 @@ "width": 1440, "height": 900 }, - "sha256": "16d9687283f697d4c90749351a2273ef18cb12f16ee2127493cad33001e733de", + "sha256": "1629b8864668b0a14222a9b562eca3cef8addf281ed3f216d2a3c088403cdf3e", "action": null, "captured_action": null }, "run-context-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-context-mobile-light.png", "stage": "run-context", "theme": "light", @@ -2539,17 +2539,17 @@ "width": 390, "height": 844 }, - "sha256": "76c628e5a6830a04a84f41b673744c77b204da84105b8e54bee2d251f0329f6e", + "sha256": "174fb49ae837e5cc728c21a5784e98fb2695da02c54f770147b4e912693d2065", "action": null, "captured_action": null }, "run-context-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-context-mobile-dark.png", "stage": "run-context", "theme": "dark", @@ -2559,17 +2559,17 @@ "width": 390, "height": 844 }, - "sha256": "054e6e0b01445403c9b1f291898a6ff130215648b4e108d88154c716ba41eb1c", + "sha256": "9230c202796643fabc0acce14dedfe75e3e11a0463442de26e93452750425677", "action": null, "captured_action": null }, "product-behavior-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-behavior-desktop-light.png", "stage": "product-behavior", "theme": "light", @@ -2579,7 +2579,7 @@ "width": 1440, "height": 900 }, - "sha256": "7b707e12ea873c7457f1e8a73320eb6941d689496f90e1d22804c3059db196a7", + "sha256": "da7d9bf91aab133ab2c343742152345ed058891a1cddb3e2e7881ae9bc670a9c", "action": { "label": "Continue", "top": 738.15625, @@ -2605,11 +2605,11 @@ }, "product-behavior-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-behavior-desktop-dark.png", "stage": "product-behavior", "theme": "dark", @@ -2619,7 +2619,7 @@ "width": 1440, "height": 900 }, - "sha256": "55e03c334f388b165d4111d18cb369ed04b40a628fab88ec48100765ef6c08d3", + "sha256": "098e22444185a3c7436ad87ef30df7bcd2b908fbfa577b885476ae1d13135676", "action": { "label": "Continue", "top": 738.15625, @@ -2645,11 +2645,11 @@ }, "product-behavior-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-behavior-mobile-light.png", "stage": "product-behavior", "theme": "light", @@ -2659,7 +2659,7 @@ "width": 390, "height": 844 }, - "sha256": "c41290f92329844567e6504b547ba0919568bd5fcb6cd618b4120e3418d3167a", + "sha256": "2ae9f7a2d2f830380d3a7261e7d5c5fa81ec70f66654bb3bb01371f5e8e3a0c4", "action": { "label": "Continue", "top": 714.046875, @@ -2685,11 +2685,11 @@ }, "product-behavior-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-behavior-mobile-dark.png", "stage": "product-behavior", "theme": "dark", @@ -2699,7 +2699,7 @@ "width": 390, "height": 844 }, - "sha256": "3601d97e90a9a9626e693f58ff90c8cf6a3a5242320ba2cf3bdc9bfbfea2a36f", + "sha256": "686e03aef6ae90fa14cb411fe6b46eae14f9108ef9255d65d4b2f29fd987ea0f", "action": { "label": "Continue", "top": 714.046875, @@ -2725,11 +2725,11 @@ }, "product-feature-mapping-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-feature-mapping-desktop-light.png", "stage": "product-feature-mapping", "theme": "light", @@ -2739,7 +2739,7 @@ "width": 1440, "height": 900 }, - "sha256": "bc38f828a2e5b6b8dd2b4b427bd18cafbb0c1a993b413ba83785e797e8158635", + "sha256": "87cd7d69a15af2ecff57e1091bf07cec82697949f1740f0d6d9b43ae28bcd0d6", "action": { "label": "Continue", "top": 738.15625, @@ -2765,11 +2765,11 @@ }, "run-review-provider-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-review-provider-desktop-light.png", "stage": "run-review-provider", "theme": "light", @@ -2779,7 +2779,7 @@ "width": 1440, "height": 900 }, - "sha256": "8c4a49ad8640381cc21f37be24f95cf39d83b4821c51d80af253b67c6cfd9f93", + "sha256": "009eddb1a7a6b147c2f321dbe69fb4334c7bd46a9de080417f26185cf06e51f4", "action": { "label": "Review run", "top": 713.078125, @@ -2805,11 +2805,11 @@ }, "product-feature-mapping-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-feature-mapping-desktop-dark.png", "stage": "product-feature-mapping", "theme": "dark", @@ -2819,7 +2819,7 @@ "width": 1440, "height": 900 }, - "sha256": "697903266f761b39e289bf5a4a2efe3c822f1246c592bed5f0d6b9bf596d3871", + "sha256": "61730aa781b6b48a62470d956f74fa4a0f139326ea7121b6285c40ee517eb559", "action": { "label": "Continue", "top": 738.15625, @@ -2845,11 +2845,11 @@ }, "run-review-provider-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-review-provider-desktop-dark.png", "stage": "run-review-provider", "theme": "dark", @@ -2859,7 +2859,7 @@ "width": 1440, "height": 900 }, - "sha256": "157ed57d73bc21be53ea0e0d6e8a3cd5453ee882ba168d1d5cbb6f19cbffca62", + "sha256": "c576824dc8a816be35abc18754477ec55f6ef38f724453a2ba4b04c9e8523af6", "action": { "label": "Review run", "top": 713.078125, @@ -2885,11 +2885,11 @@ }, "run-policies-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-policies-desktop-light.png", "stage": "run-policies", "theme": "light", @@ -2899,7 +2899,7 @@ "width": 1440, "height": 900 }, - "sha256": "64b307a4fc7d31c770a922fbb350eeec2fed4f31852785680bdb56681cc875a5", + "sha256": "0dfcecb954bd5a5460a869456105005b4a6479d4af538eecdc3e7875c7626b96", "action": { "label": "Review run", "top": 713.078125, @@ -2925,11 +2925,11 @@ }, "run-policies-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-policies-desktop-dark.png", "stage": "run-policies", "theme": "dark", @@ -2939,7 +2939,7 @@ "width": 1440, "height": 900 }, - "sha256": "776f08ee7cafce3c6ff736a7cae8be416d14143d219ed9c3496c21d0ada5f163", + "sha256": "8e725cf72202480d8dcc68b5d376206fa0b83df5bd6ae63d4fd686f5d4c5c757", "action": { "label": "Review run", "top": 713.078125, @@ -2965,11 +2965,11 @@ }, "product-feature-mapping-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-feature-mapping-mobile-light.png", "stage": "product-feature-mapping", "theme": "light", @@ -2979,7 +2979,7 @@ "width": 390, "height": 844 }, - "sha256": "f2a0c926b32c25dbd94190ac4dfdbe2183cae6f5513779fa28ece9006e1108b5", + "sha256": "3f0ebecf2ff65e6ce14bc51596116a4ef77803904e9835e56559c0d3b6299b0e", "action": { "label": "Continue", "top": 714.046875, @@ -3005,11 +3005,11 @@ }, "run-review-provider-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-review-provider-mobile-light.png", "stage": "run-review-provider", "theme": "light", @@ -3019,7 +3019,7 @@ "width": 390, "height": 844 }, - "sha256": "ae6753be5ba48a943d9d7b42906427f9c72a28387bb3f9b24843f8de63c8e584", + "sha256": "b718bcb7854892299d2b52d8d51bc75e7a906093d833c98add076a4fe87ccac5", "action": { "label": "Review run", "top": 693.078125, @@ -3045,11 +3045,11 @@ }, "run-policies-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-policies-mobile-light.png", "stage": "run-policies", "theme": "light", @@ -3059,7 +3059,7 @@ "width": 390, "height": 844 }, - "sha256": "ee68ec11ab0e21c423f024333588ab4f244752a4f12d0ab6b8dbb4ec29f8b651", + "sha256": "ab9b469e835faf8a471810f5e4436dee7192723496b5cd3de2c2bd22cdd7ef79", "action": { "label": "Review run", "top": 693.078125, @@ -3085,11 +3085,11 @@ }, "product-feature-mapping-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/product-feature-mapping-mobile-dark.png", "stage": "product-feature-mapping", "theme": "dark", @@ -3099,7 +3099,7 @@ "width": 390, "height": 844 }, - "sha256": "fcd838a06268ea8c5926ef21e6274f29a2a73bb52b49f90601bfd0e162a7f7c1", + "sha256": "25e9fa82d7ce3b5134ddfca72f04dbcb66bd9d68066128d497ac81ef39a79723", "action": { "label": "Continue", "top": 714.046875, @@ -3125,11 +3125,11 @@ }, "run-review-provider-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-review-provider-mobile-dark.png", "stage": "run-review-provider", "theme": "dark", @@ -3139,7 +3139,7 @@ "width": 390, "height": 844 }, - "sha256": "c9abf76e804d5e7e9d5b5dfa9b5e4a217c95e5e3ace9ff7adb75130dbe1fdf71", + "sha256": "f2a160ee4c5dbde60a073a498e0e32940a6e7f0d8e51a39ea56a13bb701c8ce9", "action": { "label": "Review run", "top": 693.078125, @@ -3165,11 +3165,11 @@ }, "run-policies-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/run-policies-mobile-dark.png", "stage": "run-policies", "theme": "dark", @@ -3179,7 +3179,7 @@ "width": 390, "height": 844 }, - "sha256": "dcc2ab88bf74f41de88f7a9f26db36ab775b511f25d6484741f10c919c1b1eca", + "sha256": "efad8b4cef2aa5dcbaddb96d7024eb9b656b24934be6635a6a6d146fce3b50fe", "action": { "label": "Review run", "top": 693.078125, @@ -3205,11 +3205,11 @@ }, "search-provider-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-provider-desktop-light.png", "stage": "search-provider", "theme": "light", @@ -3219,7 +3219,7 @@ "width": 1440, "height": 900 }, - "sha256": "f87a4877315c4bce94f00bd1b5780b162b4303c23a806366232772d029a43e93", + "sha256": "8a69408d8c44f00f330fe6645defdb13a14894a538970c9a20b9c728d8f68ae0", "action": { "label": "Continue", "top": 498.15625, @@ -3245,11 +3245,11 @@ }, "search-access-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-access-desktop-light.png", "stage": "search-access", "theme": "light", @@ -3259,7 +3259,7 @@ "width": 1440, "height": 900 }, - "sha256": "4b7c90346d05933b069f9e00866845c961c2df8174fc660ce6464edae78d2e7c", + "sha256": "70e2ad0af912441eb9218faab363bdcc6c638622c2465c8e77cf973ba0273547", "action": { "label": "Continue", "top": 672.03125, @@ -3285,11 +3285,11 @@ }, "search-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-review-desktop-light.png", "stage": "search-review", "theme": "light", @@ -3299,7 +3299,7 @@ "width": 1440, "height": 900 }, - "sha256": "4ea5267b8e16643b7c69c74827bcb01b4abe68c23944a6f82e53519a887f405c", + "sha256": "d1af5ad6f849b4516e19d6fee5ad07ba3e5a3eb4a1b47d3484c02c7200891d38", "action": { "label": "Save search settings", "top": 591.953125, @@ -3325,11 +3325,11 @@ }, "search-saved-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-saved-desktop-light.png", "stage": "search-saved", "theme": "light", @@ -3339,7 +3339,7 @@ "width": 1440, "height": 900 }, - "sha256": "649427c135ab630bb228ff6f801c9984c7526f6cbd3cd2e014b34db3bffdb985", + "sha256": "292c78aa751feb8842e77f62d402e04b4ee0961ae7074b0ccc1408dd010e8602", "action": { "label": "Test saved connection", "top": 501.78125, @@ -3365,11 +3365,11 @@ }, "search-provider-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-provider-desktop-dark.png", "stage": "search-provider", "theme": "dark", @@ -3379,7 +3379,7 @@ "width": 1440, "height": 900 }, - "sha256": "5fb6e56049cd9a4880a4d09f5155f5b86954be9e32ac83def662b08d6b3ac852", + "sha256": "924d516f35ce87d5712746f9be4986e5178026768ffa2b3a8263184cb5b7067b", "action": { "label": "Continue", "top": 498.15625, @@ -3405,11 +3405,11 @@ }, "search-access-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-access-desktop-dark.png", "stage": "search-access", "theme": "dark", @@ -3419,7 +3419,7 @@ "width": 1440, "height": 900 }, - "sha256": "d3d754776d55a19544ab343f7df4e37ab03e9a3c1c5ba49cb3c42282c496b041", + "sha256": "21fbed6765a4054acd231aed531c1ea59e18600269b47b2cc11439763c0ddf31", "action": { "label": "Continue", "top": 672.03125, @@ -3445,11 +3445,11 @@ }, "search-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-review-desktop-dark.png", "stage": "search-review", "theme": "dark", @@ -3459,7 +3459,7 @@ "width": 1440, "height": 900 }, - "sha256": "da858b6d476a3adb3aaeaa0717f239dfa06418fae72a0df78fbc6f9b7749f330", + "sha256": "f7405e213ef53fc2e6c6869f38d4338895aa0d9587131ab03e31fa5660273143", "action": { "label": "Save search settings", "top": 591.953125, @@ -3485,11 +3485,11 @@ }, "search-saved-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-saved-desktop-dark.png", "stage": "search-saved", "theme": "dark", @@ -3499,7 +3499,7 @@ "width": 1440, "height": 900 }, - "sha256": "57cb4eafb9ee645e00902b76f35092945d980ebfa09845f861a48ebb62f35dac", + "sha256": "5b21831553d5a3daafa677351555091484b534dad70ba6139968a68d1d1ed6cd", "action": { "label": "Test saved connection", "top": 501.78125, @@ -3525,11 +3525,11 @@ }, "search-provider-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-provider-mobile-light.png", "stage": "search-provider", "theme": "light", @@ -3539,7 +3539,7 @@ "width": 390, "height": 844 }, - "sha256": "490aee68eb313298aedd784a27507b0b4bff20b3d684f40a351c2f63731c9fff", + "sha256": "bbd1e6af4b0800e253c62ff5eff1e3822a2bf0fec5d9ffe17ec7dca745d0260a", "action": { "label": "Continue", "top": 505.359375, @@ -3565,11 +3565,11 @@ }, "search-access-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-access-mobile-light.png", "stage": "search-access", "theme": "light", @@ -3579,7 +3579,7 @@ "width": 390, "height": 844 }, - "sha256": "608af7b50e897025c9559e032609e715c6366b9f018876daafef1b991fb5d582", + "sha256": "b6b0a3df509cab1fef65ef4310bb441029c8a5c2b47f7fd6c20a647508af3a69", "action": { "label": "Continue", "top": 716.015625, @@ -3605,11 +3605,11 @@ }, "search-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-review-mobile-light.png", "stage": "search-review", "theme": "light", @@ -3619,7 +3619,7 @@ "width": 390, "height": 844 }, - "sha256": "ffd4a3fe12764fc191ba2d3c2a531712d9cfca3af21f57753c74dd8bd9fd92d6", + "sha256": "ecc9e5657c2ef3cfefcb9e4b92c0bafb93a12eeebd88902e382e8c1133242dc8", "action": { "label": "Save search settings", "top": 622.921875, @@ -3645,11 +3645,11 @@ }, "search-saved-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-saved-mobile-light.png", "stage": "search-saved", "theme": "light", @@ -3659,7 +3659,7 @@ "width": 390, "height": 844 }, - "sha256": "5c3f32e77212169295fac6d3fa52c6c7cb44b0615e583257fd25c7ea1e7ca98b", + "sha256": "b072e68eb140488087a5d251efb3ccd25cd1d3ad2dcb3de0ffe1becb59469f9c", "action": { "label": "Test saved connection", "top": 733.015625, @@ -3685,11 +3685,11 @@ }, "search-provider-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-provider-mobile-dark.png", "stage": "search-provider", "theme": "dark", @@ -3699,7 +3699,7 @@ "width": 390, "height": 844 }, - "sha256": "861a1be8155f889cf432f910a10b6d83b5153aaf6027de6f96a1a9a6007f8da2", + "sha256": "09f13928ec93b00de6dc0802f0ef6ec6ea4c1a94d8261a8c21a57ee1402f75ab", "action": { "label": "Continue", "top": 505.359375, @@ -3725,11 +3725,11 @@ }, "search-access-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-access-mobile-dark.png", "stage": "search-access", "theme": "dark", @@ -3739,7 +3739,7 @@ "width": 390, "height": 844 }, - "sha256": "1dfa76f0db824380e3b09d4645fa0336d53dea9965838d304387c5457f14eba6", + "sha256": "39d64b5829ddb972d1b028b006e2f730b33d463fc309e955640980add3f4694b", "action": { "label": "Continue", "top": 716.015625, @@ -3765,11 +3765,11 @@ }, "search-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-review-mobile-dark.png", "stage": "search-review", "theme": "dark", @@ -3779,7 +3779,7 @@ "width": 390, "height": 844 }, - "sha256": "9039e06dd46018f63fe6db070e83cc2e588f65a88f17a9fc117a462bee976b13", + "sha256": "f40af9739e279fb52da5c18d5e5f0120920b8caf6db11af5a754c2b5faf96074", "action": { "label": "Save search settings", "top": 622.921875, @@ -3805,11 +3805,11 @@ }, "search-saved-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/search-saved-mobile-dark.png", "stage": "search-saved", "theme": "dark", @@ -3819,7 +3819,7 @@ "width": 390, "height": 844 }, - "sha256": "e542929ead54d0cd648839c2e016398338b4686a19403da8a568af9d6782234d", + "sha256": "38bef80696a5aba8576130b2856e742517df002df02fbf18d67cb23d80312f17", "action": { "label": "Test saved connection", "top": 733.015625, @@ -3846,10 +3846,10 @@ "external-catalog-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-catalog-desktop-light.png", "stage": "external-catalog", "theme": "light", @@ -3859,17 +3859,17 @@ "width": 1440, "height": 900 }, - "sha256": "41a8e8397cb04663eb8192ab90d93c0c34e69b41017a0c94b154b2fa39231001", + "sha256": "3fe8f6e744b1723644bd6402b30b90c550ac5cf1107c932169147e6335d6efa8", "action": null, "captured_action": null }, "external-connection-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-connection-desktop-light.png", "stage": "external-connection", "theme": "light", @@ -3879,7 +3879,7 @@ "width": 1440, "height": 900 }, - "sha256": "4cc6145e7d4be158eb133e5f05439575f79c870d5d7ac90ae1b61c126f1ee3c8", + "sha256": "df47cc4de475033ff0e728556954fe8282066a7c829f2bc34148e3effffbd189", "action": { "label": "Save connection and continue", "top": 713.078125, @@ -3906,10 +3906,10 @@ "external-discovery-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-discovery-desktop-light.png", "stage": "external-discovery", "theme": "light", @@ -3919,7 +3919,7 @@ "width": 1440, "height": 900 }, - "sha256": "dfd240bc57159dec6ffb16facd66d3069662344970dd12b74cea8b4f0b740543", + "sha256": "7986bcbe436bf3e158e4ce9f798771224277455487e059a6b5f5ef901e794204", "action": { "label": "Discover schemas (remote request)", "top": 713.078125, @@ -3946,10 +3946,10 @@ "external-review-overview-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-overview-desktop-light.png", "stage": "external-review-overview", "theme": "light", @@ -3959,7 +3959,7 @@ "width": 1440, "height": 900 }, - "sha256": "d4efe6caccd9283fbdac1b61e3c4653f362ee08d77b8859e14d5f9d043af8eb3", + "sha256": "402688d1e925481961715fd7efd019057df9811ca10029731df4d7a9a5e1bf96", "action": { "label": "Record schema review", "top": 713.078125, @@ -3986,10 +3986,10 @@ "external-review-schema-detail-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-schema-detail-desktop-light.png", "stage": "external-review-schema-detail", "theme": "light", @@ -3999,7 +3999,7 @@ "width": 1440, "height": 900 }, - "sha256": "294e893deb4bddc0856b037d1ffc95b08d968f92365d8c8820baeda9476326b4", + "sha256": "353b651a33ce09df5510832e76051032b104fe86bef27ef0c607a22bc3f4a823", "action": { "label": "Record schema review", "top": 713.078125, @@ -4026,10 +4026,10 @@ "external-review-confirmation-detail-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-confirmation-detail-desktop-light.png", "stage": "external-review-confirmation-detail", "theme": "light", @@ -4039,7 +4039,7 @@ "width": 1440, "height": 900 }, - "sha256": "146b4eb33f73afae6a55a4442cfb07044e48f0deff8bac35c18c7c1f4b7f3c6e", + "sha256": "78d305eefe7c3210f5002c6fbdd01e2a9c889954ef0058c32d55c1f5666db0b0", "action": { "label": "Record schema review", "top": 713.078125, @@ -4066,10 +4066,10 @@ "external-project-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-desktop-light.png", "stage": "external-project", "theme": "light", @@ -4079,7 +4079,7 @@ "width": 1440, "height": 900 }, - "sha256": "e6eed2b1d70f5fcb6ed583f2752424d21c3089e0c35b30d2ef2d3c89028a2527", + "sha256": "fbf8fec3c9234ad3173677a0e6a3426c03c7b38bf663c47c6c63a1d18931ba2e", "action": { "label": "Grant project access", "top": 713.078125, @@ -4106,10 +4106,10 @@ "external-project-fields-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-fields-desktop-light.png", "stage": "external-project-fields", "theme": "light", @@ -4119,7 +4119,7 @@ "width": 1440, "height": 900 }, - "sha256": "e6eed2b1d70f5fcb6ed583f2752424d21c3089e0c35b30d2ef2d3c89028a2527", + "sha256": "fbf8fec3c9234ad3173677a0e6a3426c03c7b38bf663c47c6c63a1d18931ba2e", "action": { "label": "Grant project access", "top": 713.078125, @@ -4146,10 +4146,10 @@ "external-project-roles-detail-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-roles-detail-desktop-light.png", "stage": "external-project-roles-detail", "theme": "light", @@ -4159,7 +4159,7 @@ "width": 1440, "height": 900 }, - "sha256": "fe8507d1215bccbf6996e1d34dc3d9187bda9c77677aadfc24ef8c129b122643", + "sha256": "7049d09914e0352a9aa28feb484052f1532ffd4501f4a721bc0302022895ec00", "action": { "label": "Grant project access", "top": 713.078125, @@ -4186,10 +4186,10 @@ "external-granted-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-granted-desktop-light.png", "stage": "external-granted", "theme": "light", @@ -4199,7 +4199,7 @@ "width": 1440, "height": 900 }, - "sha256": "069942459ab7d8c82577a721196d6b73e304de4a59f964e5b06a1a58b21d8783", + "sha256": "d38545707ebf2bee482603d41ced22730f36d589bcc0493bcfca7bed6418ea37", "action": { "label": "Revoke access", "top": 741.984375, @@ -4226,10 +4226,10 @@ "external-figma-requirements-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-requirements-desktop-light.png", "stage": "external-figma-requirements", "theme": "light", @@ -4239,7 +4239,7 @@ "width": 1440, "height": 900 }, - "sha256": "356f5731f77a19f50c133e25363495940ac0ece31270b83a7b2ff95c530a4873", + "sha256": "b6f82100600ad1c0933db54e0754e3e12c2b64e6a848b7e0d7b455ebe24ed496", "action": { "label": "Continue", "top": 713.078125, @@ -4266,10 +4266,10 @@ "external-figma-account-scope-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-account-scope-desktop-light.png", "stage": "external-figma-account-scope", "theme": "light", @@ -4279,7 +4279,7 @@ "width": 1440, "height": 900 }, - "sha256": "7d776de067463b842a8550ddd4df590443349794e9bf5e489a4958a124a22a22", + "sha256": "0d50f59a798733d19995fd33fff17fa367f821edb13700454301dade3e236d71", "action": { "label": "Continue", "top": 713.078125, @@ -4306,10 +4306,10 @@ "external-figma-account-scope-detail-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-account-scope-detail-desktop-light.png", "stage": "external-figma-account-scope-detail", "theme": "light", @@ -4319,7 +4319,7 @@ "width": 1440, "height": 900 }, - "sha256": "729bd8859fca26dc586b6fdddfe4b9e255725f9c15b6997aa05d3636fb541552", + "sha256": "7d737ec7a4fcd20c230bef02d68da1bf7a6a082146e925659b2d5d559ab9761b", "action": { "label": "Continue", "top": 713.078125, @@ -4346,10 +4346,10 @@ "external-figma-factory-setup-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-factory-setup-desktop-light.png", "stage": "external-figma-factory-setup", "theme": "light", @@ -4359,7 +4359,7 @@ "width": 1440, "height": 900 }, - "sha256": "1c7a89d3de5789747810244b2aff0cb0e0c0635494a1ec8ddf7a11a1b7ef806b", + "sha256": "1b0e4cb2e30145f506781ea1ab7d64b5c7298931a8d450eae94e8b47f6d03fd0", "action": { "label": "Continue", "top": 713.078125, @@ -4386,10 +4386,10 @@ "external-figma-availability-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-availability-desktop-light.png", "stage": "external-figma-availability", "theme": "light", @@ -4399,7 +4399,7 @@ "width": 1440, "height": 900 }, - "sha256": "77df5fee004419d5b69609eee53f395e82b6e3ca5cb03fc971b061d572e649fa", + "sha256": "21997f800a1dda87392b72e007c0c13165f90a28af792599285d83ae7988ae33", "action": { "label": "Connection unavailable", "top": 713.078125, @@ -4426,10 +4426,10 @@ "external-sentry-requirements-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-requirements-desktop-light.png", "stage": "external-sentry-requirements", "theme": "light", @@ -4439,7 +4439,7 @@ "width": 1440, "height": 900 }, - "sha256": "9c2f9f10e93b972a3006544b4b97f5692f8ad88dd5c4985af9b81634989a63a8", + "sha256": "7df960dbe07be03475223e8bd90f60539065d8c27286875e617357826330ea5c", "action": { "label": "Continue", "top": 713.078125, @@ -4466,10 +4466,10 @@ "external-sentry-account-scope-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-account-scope-desktop-light.png", "stage": "external-sentry-account-scope", "theme": "light", @@ -4479,7 +4479,7 @@ "width": 1440, "height": 900 }, - "sha256": "ca5fd504a0f36bb370cec19f5d2c14f123bdd284ea48db8d220626637cf4fb23", + "sha256": "8729608c127e4af18aeb6ccdeea1f66b02648ef67c725249942141de7741368c", "action": { "label": "Continue", "top": 713.078125, @@ -4506,10 +4506,10 @@ "external-sentry-account-scope-detail-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-account-scope-detail-desktop-light.png", "stage": "external-sentry-account-scope-detail", "theme": "light", @@ -4519,7 +4519,7 @@ "width": 1440, "height": 900 }, - "sha256": "8838757a661c53988f76bd082d4be641bc68eeb2df3cc5ec1b01c7bdc1db8274", + "sha256": "71e397366c9f721cef877e4730fd00a44d7c5bdd53c459540e2a49137e2e5f06", "action": { "label": "Continue", "top": 713.078125, @@ -4546,10 +4546,10 @@ "external-sentry-factory-setup-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-factory-setup-desktop-light.png", "stage": "external-sentry-factory-setup", "theme": "light", @@ -4559,7 +4559,7 @@ "width": 1440, "height": 900 }, - "sha256": "7882406dc230fba22fbe1ee99769d9d86284d583e0917b95b64297a0f32e228e", + "sha256": "3e476231f41f505fe75db8d6d2218899b23a34d31340a734e7b157255030100f", "action": { "label": "Continue", "top": 713.078125, @@ -4586,10 +4586,10 @@ "external-sentry-availability-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-availability-desktop-light.png", "stage": "external-sentry-availability", "theme": "light", @@ -4599,7 +4599,7 @@ "width": 1440, "height": 900 }, - "sha256": "83f036d7403c037eec9a7e3682343c666a922e9b90eb987fa34e09d87ea40a50", + "sha256": "90bb27848d72a95c9127506ee08c6d061306357a83f7f78b3c797f17dc3cbd2b", "action": { "label": "Connection unavailable", "top": 713.078125, @@ -4626,10 +4626,10 @@ "external-grafana-requirements-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-requirements-desktop-light.png", "stage": "external-grafana-requirements", "theme": "light", @@ -4639,7 +4639,7 @@ "width": 1440, "height": 900 }, - "sha256": "cec712337ab95a733903386b16a55b19d0ac14520a225f034895b20b031bea3d", + "sha256": "5359a031c7c0e7278d49ebad91c13f3952a5b84bd386a0a9d84364206c8ff6d2", "action": { "label": "Continue", "top": 713.078125, @@ -4666,10 +4666,10 @@ "external-grafana-account-scope-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-account-scope-desktop-light.png", "stage": "external-grafana-account-scope", "theme": "light", @@ -4679,7 +4679,7 @@ "width": 1440, "height": 900 }, - "sha256": "805cae5605b8300154efc8d8cb5325ffe8c386b7599f4bd6a51498574507e9b4", + "sha256": "17cce03193743882a573e511faa0d38a991051bb30673c309d2cd0c56fefbc81", "action": { "label": "Continue", "top": 713.078125, @@ -4706,10 +4706,10 @@ "external-grafana-account-scope-detail-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-account-scope-detail-desktop-light.png", "stage": "external-grafana-account-scope-detail", "theme": "light", @@ -4719,7 +4719,7 @@ "width": 1440, "height": 900 }, - "sha256": "cf9ea9f1ed74dc35daa8793608bcb69c132e1972f6ec340b03f59ac109852b0f", + "sha256": "018bc7a3ea4d7711ac40cc2f3002146b572da4fd145fe28fb6d2fc2475e267e1", "action": { "label": "Continue", "top": 713.078125, @@ -4746,10 +4746,10 @@ "external-grafana-factory-setup-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-factory-setup-desktop-light.png", "stage": "external-grafana-factory-setup", "theme": "light", @@ -4759,7 +4759,7 @@ "width": 1440, "height": 900 }, - "sha256": "0038c2fd31aea48eaee12c272f771729dc3c408c2ba720884c05196b0f52f119", + "sha256": "0ed238c5d72351ab8848abfee272ecec5132be362922c0efd444b6be2bf0cab4", "action": { "label": "Continue", "top": 713.078125, @@ -4786,10 +4786,10 @@ "external-grafana-availability-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-availability-desktop-light.png", "stage": "external-grafana-availability", "theme": "light", @@ -4799,7 +4799,7 @@ "width": 1440, "height": 900 }, - "sha256": "d8017b53aa9b2f54b71f37016e7f2a471a0c961f98f657687268dd0e165b333b", + "sha256": "5ef99b4b2c26af8f6b940b7de8131e6a2d7201d8e3fa690b4269b836a30dadf3", "action": { "label": "Connection unavailable", "top": 713.078125, @@ -4826,10 +4826,10 @@ "external-playwright-requirements-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-requirements-desktop-light.png", "stage": "external-playwright-requirements", "theme": "light", @@ -4839,7 +4839,7 @@ "width": 1440, "height": 900 }, - "sha256": "e4e80a00a4250c87f6f28290907a52e05f80b80c5bebbc93ba070240d0f3d38d", + "sha256": "b3fe0562f804c866784a1c2565bd1b976d04366de1c0b3f2f76fc4f435e2142b", "action": { "label": "Continue", "top": 713.078125, @@ -4866,10 +4866,10 @@ "external-playwright-account-scope-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-account-scope-desktop-light.png", "stage": "external-playwright-account-scope", "theme": "light", @@ -4879,7 +4879,7 @@ "width": 1440, "height": 900 }, - "sha256": "0f03c93081ba2d1c26e375347459723deec9f1e1cb9d0686a7177a3b7e2d47ae", + "sha256": "d97d7a8e44a8268b8169652cd2504c83260ae2fd9239d31d6bc2c06ce03d9796", "action": { "label": "Continue", "top": 713.078125, @@ -4906,10 +4906,10 @@ "external-playwright-account-scope-detail-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-account-scope-detail-desktop-light.png", "stage": "external-playwright-account-scope-detail", "theme": "light", @@ -4919,7 +4919,7 @@ "width": 1440, "height": 900 }, - "sha256": "e30006b5367ac3d8a562c99e11996c90ea2cb7d66dd77f1e69b76e1cfe6ca584", + "sha256": "d939d84ea624c699362b419a2d59c14b4e77ae5755e14191d08489e66f2340b8", "action": { "label": "Continue", "top": 713.078125, @@ -4946,10 +4946,10 @@ "external-playwright-factory-setup-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-factory-setup-desktop-light.png", "stage": "external-playwright-factory-setup", "theme": "light", @@ -4959,7 +4959,7 @@ "width": 1440, "height": 900 }, - "sha256": "5ba667d020d056d1742096caea78d17ed1075353600f218d4dcd926f94122188", + "sha256": "3cb16fb304f5d0c84ffff4cff03e6d52ae46bddf3aea3b89c439bdc723e159de", "action": { "label": "Continue", "top": 713.078125, @@ -4986,10 +4986,10 @@ "external-playwright-availability-desktop-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-availability-desktop-light.png", "stage": "external-playwright-availability", "theme": "light", @@ -4999,7 +4999,7 @@ "width": 1440, "height": 900 }, - "sha256": "e8dbba07875f289b93d654b8b47f28c3601638ce9f5fb9211bb292bfcac1f0c5", + "sha256": "8241b9cf4707bd2c63da81b69ac8fe801e6911514e3d03c251842686a912b99c", "action": { "label": "External template unavailable", "top": 713.078125, @@ -5026,10 +5026,10 @@ "external-catalog-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-catalog-desktop-dark.png", "stage": "external-catalog", "theme": "dark", @@ -5039,17 +5039,17 @@ "width": 1440, "height": 900 }, - "sha256": "a72c38020a1406f0f26be173213ccdefbff4a8e032664915f6744cbb76fe9d78", + "sha256": "f2b243bdfa9e92ace87f0241a5e3a0a4826823707e006d7dcd60b0b397e87306", "action": null, "captured_action": null }, "external-connection-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-connection-desktop-dark.png", "stage": "external-connection", "theme": "dark", @@ -5059,7 +5059,7 @@ "width": 1440, "height": 900 }, - "sha256": "0dffb72b19b04597fde5d5a03ac18a931322e6c5fe4f807abebb961b30f2eb54", + "sha256": "c6a23f05b4fb2f35c55a7ceace38afb4fbb2cefdc02044b46a662d395d531c47", "action": { "label": "Save connection and continue", "top": 713.078125, @@ -5086,10 +5086,10 @@ "external-discovery-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-discovery-desktop-dark.png", "stage": "external-discovery", "theme": "dark", @@ -5099,7 +5099,7 @@ "width": 1440, "height": 900 }, - "sha256": "6075c4195c3440f3f3f98c44d580c7cc108b49ade486b7d0c65b49bde98ee9db", + "sha256": "60a34403bfe302ab395d0561c2dbeb7555ef10b6078bf00f0db00b292da84570", "action": { "label": "Discover schemas (remote request)", "top": 713.078125, @@ -5126,10 +5126,10 @@ "external-review-overview-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-overview-desktop-dark.png", "stage": "external-review-overview", "theme": "dark", @@ -5139,7 +5139,7 @@ "width": 1440, "height": 900 }, - "sha256": "5b715bdfbf5753ff3e9acdca3ef4be2786ba1e5afc852fa9914c947d23e0661b", + "sha256": "5f69ab66e2d8054d906dd8ae3b8fba03ac8226f3f16ee2b263f7085d58d503f0", "action": { "label": "Record schema review", "top": 713.078125, @@ -5166,10 +5166,10 @@ "external-review-schema-detail-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-schema-detail-desktop-dark.png", "stage": "external-review-schema-detail", "theme": "dark", @@ -5179,7 +5179,7 @@ "width": 1440, "height": 900 }, - "sha256": "6588cbf24739a572ac32741ccebc4ea00f5a4e61c21aba4645f7474c9f7fdffa", + "sha256": "b7c343821f7a9ada699a6c78bcf152f6ba28bde3a508eeb1ab76ddc06e216de2", "action": { "label": "Record schema review", "top": 713.078125, @@ -5206,10 +5206,10 @@ "external-review-confirmation-detail-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-confirmation-detail-desktop-dark.png", "stage": "external-review-confirmation-detail", "theme": "dark", @@ -5219,7 +5219,7 @@ "width": 1440, "height": 900 }, - "sha256": "4ebe2df87d78f0784ca707c4571dacbfcf00a59cb0290618e678b81b29972125", + "sha256": "6d8fdb076dbd8860e3d1ef4e13f5fd7fd8c5e9604108850b4c18a42f58814f2e", "action": { "label": "Record schema review", "top": 713.078125, @@ -5246,10 +5246,10 @@ "external-project-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-desktop-dark.png", "stage": "external-project", "theme": "dark", @@ -5259,7 +5259,7 @@ "width": 1440, "height": 900 }, - "sha256": "7b3486f803d68be017d8a785f2ebc614a0f9d9074774fe5d970e0eb960f103bd", + "sha256": "853a7b88aa8db4de8e5e0ee57ced2f28e2ca5de40bd61b2032269f77b24f0846", "action": { "label": "Grant project access", "top": 713.078125, @@ -5286,10 +5286,10 @@ "external-project-fields-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-fields-desktop-dark.png", "stage": "external-project-fields", "theme": "dark", @@ -5299,7 +5299,7 @@ "width": 1440, "height": 900 }, - "sha256": "7b3486f803d68be017d8a785f2ebc614a0f9d9074774fe5d970e0eb960f103bd", + "sha256": "853a7b88aa8db4de8e5e0ee57ced2f28e2ca5de40bd61b2032269f77b24f0846", "action": { "label": "Grant project access", "top": 713.078125, @@ -5326,10 +5326,10 @@ "external-project-roles-detail-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-roles-detail-desktop-dark.png", "stage": "external-project-roles-detail", "theme": "dark", @@ -5339,7 +5339,7 @@ "width": 1440, "height": 900 }, - "sha256": "fea16eb8141c4763c6a43cc4afa7146bfe45554c0c8c4bea81ffb8da03077d6a", + "sha256": "eb5b2594275190a56e4acdec3026a73b8a14c7392d1f97c8b695e62c3adf2baf", "action": { "label": "Grant project access", "top": 713.078125, @@ -5366,10 +5366,10 @@ "external-granted-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-granted-desktop-dark.png", "stage": "external-granted", "theme": "dark", @@ -5379,7 +5379,7 @@ "width": 1440, "height": 900 }, - "sha256": "06bad7cdafdbf38a1deca0c69d45acc18f3df788cd2243e8569b404d50e90a83", + "sha256": "12ed0ffc52610860d06b30432cffb2f656e48fb395cf922c6081dd9290638120", "action": { "label": "Revoke access", "top": 741.984375, @@ -5406,10 +5406,10 @@ "external-figma-requirements-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-requirements-desktop-dark.png", "stage": "external-figma-requirements", "theme": "dark", @@ -5419,7 +5419,7 @@ "width": 1440, "height": 900 }, - "sha256": "f3b7fd2afc2b4dd4c1cdbdcd51a2f523fc2eb22df8cffe2cdfa554ab1cf76d35", + "sha256": "c5e99f6d32d1ca569a48ef3e734eb8e9f241054f40b397db4aa67346dbcdb736", "action": { "label": "Continue", "top": 713.078125, @@ -5446,10 +5446,10 @@ "external-figma-account-scope-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-account-scope-desktop-dark.png", "stage": "external-figma-account-scope", "theme": "dark", @@ -5459,7 +5459,7 @@ "width": 1440, "height": 900 }, - "sha256": "b667810adfa3afaac07b8ff54331b3308ad66faca2c8c4f4ea9e3042e94b214f", + "sha256": "098513f54d4d7d5e0460b096d441921865bb5220e5000bba1938d84628cd61a8", "action": { "label": "Continue", "top": 713.078125, @@ -5486,10 +5486,10 @@ "external-figma-account-scope-detail-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-account-scope-detail-desktop-dark.png", "stage": "external-figma-account-scope-detail", "theme": "dark", @@ -5499,7 +5499,7 @@ "width": 1440, "height": 900 }, - "sha256": "9323f2996e1aee8cec62fc2c079c0d9e5f1ad669b56dea2c0d99fbfbd877250d", + "sha256": "669b2af6532f9cddbe1976010b7d52021dcb1891f6953597e2197d3d69a05cdc", "action": { "label": "Continue", "top": 713.078125, @@ -5526,10 +5526,10 @@ "external-figma-factory-setup-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-factory-setup-desktop-dark.png", "stage": "external-figma-factory-setup", "theme": "dark", @@ -5539,7 +5539,7 @@ "width": 1440, "height": 900 }, - "sha256": "6e5406c11822f2daea6a4c2e8bdf230950f0748a2b3c39d2c62def4df39fc310", + "sha256": "05aa3cb51fe159d1e62be19ca3905bd5ee8aa855fbaab6cde71d0be3723dcf10", "action": { "label": "Continue", "top": 713.078125, @@ -5566,10 +5566,10 @@ "external-figma-availability-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-availability-desktop-dark.png", "stage": "external-figma-availability", "theme": "dark", @@ -5579,7 +5579,7 @@ "width": 1440, "height": 900 }, - "sha256": "a4be938b7f48b46e659a0049edb54a06ba23fd2f9b2bb95dcbf0e291acd68e11", + "sha256": "50edf3efa16c5c8f095c5ccb07930466267d6f2423792c65db76290688e0d116", "action": { "label": "Connection unavailable", "top": 713.078125, @@ -5606,10 +5606,10 @@ "external-sentry-requirements-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-requirements-desktop-dark.png", "stage": "external-sentry-requirements", "theme": "dark", @@ -5619,7 +5619,7 @@ "width": 1440, "height": 900 }, - "sha256": "10285e902678cf293d097eb7430909dea4af560e3e5117779a9f3894c0ce61e0", + "sha256": "59db312b04df453b11952dad3f2c85d95ba4cccbf9a1919b70a9cb1b530793c1", "action": { "label": "Continue", "top": 713.078125, @@ -5646,10 +5646,10 @@ "external-sentry-account-scope-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-account-scope-desktop-dark.png", "stage": "external-sentry-account-scope", "theme": "dark", @@ -5659,7 +5659,7 @@ "width": 1440, "height": 900 }, - "sha256": "f98e68ba73c33d8672a4259bd7870e35d3e09bdc9e7211b60b47940b09656273", + "sha256": "c62501431c35da736c172e9858bd2b13425d5522005fffac6046a4b6ca59c29c", "action": { "label": "Continue", "top": 713.078125, @@ -5686,10 +5686,10 @@ "external-sentry-account-scope-detail-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-account-scope-detail-desktop-dark.png", "stage": "external-sentry-account-scope-detail", "theme": "dark", @@ -5699,7 +5699,7 @@ "width": 1440, "height": 900 }, - "sha256": "923051529ccf3fae58a0547a761b83023fa2758b0d56e7f7462299531983e9b8", + "sha256": "9cae831d97d4453606011f2fb125e204c544a4866554f6bfb9f0a91f659057ba", "action": { "label": "Continue", "top": 713.078125, @@ -5726,10 +5726,10 @@ "external-sentry-factory-setup-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-factory-setup-desktop-dark.png", "stage": "external-sentry-factory-setup", "theme": "dark", @@ -5739,7 +5739,7 @@ "width": 1440, "height": 900 }, - "sha256": "529133dbdf1ee55752a465f3dcfa9b13b325282126a20a6df090016eeacc8e24", + "sha256": "a45f65303b0aec598fa8954417501b36f416f92e9848de4b488779535419dd97", "action": { "label": "Continue", "top": 713.078125, @@ -5766,10 +5766,10 @@ "external-sentry-availability-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-availability-desktop-dark.png", "stage": "external-sentry-availability", "theme": "dark", @@ -5779,7 +5779,7 @@ "width": 1440, "height": 900 }, - "sha256": "1dd72f6e881907f7552882d63f4754f39cd7f0e39ef0ab7eb49eb28becc837c1", + "sha256": "897f7a09930d3ec1948e36e3df54b3c21e0c412f1e0a1bfa14af40f6b03212bc", "action": { "label": "Connection unavailable", "top": 713.078125, @@ -5806,10 +5806,10 @@ "external-grafana-requirements-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-requirements-desktop-dark.png", "stage": "external-grafana-requirements", "theme": "dark", @@ -5819,7 +5819,7 @@ "width": 1440, "height": 900 }, - "sha256": "81d947390c83c316a2dfd88608a0e8be82f15ca3d985b7f1bb3a55509616cf91", + "sha256": "021d5af132429b2c02f679dd7f156042ea6c2eec4918d7689a9e55df5fc30fae", "action": { "label": "Continue", "top": 713.078125, @@ -5846,10 +5846,10 @@ "external-grafana-account-scope-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-account-scope-desktop-dark.png", "stage": "external-grafana-account-scope", "theme": "dark", @@ -5859,7 +5859,7 @@ "width": 1440, "height": 900 }, - "sha256": "d0b0549d4f35d4996b98c0eac6056cdcf4cf5e4e0739bd2dc92865ea883c40b1", + "sha256": "4a0535582b1f6cea87595d546eb491f5be23d3bacc34ca4c8aec581bc512632c", "action": { "label": "Continue", "top": 713.078125, @@ -5886,10 +5886,10 @@ "external-grafana-account-scope-detail-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-account-scope-detail-desktop-dark.png", "stage": "external-grafana-account-scope-detail", "theme": "dark", @@ -5899,7 +5899,7 @@ "width": 1440, "height": 900 }, - "sha256": "db41b74cb205564a9e1f9095a84f2099094c1a8bd6249102b227f4f194951521", + "sha256": "f0f8439fb0c8376b388e7dbcfb5ca80e21ac7f12ad7c56571e0eb9df6881ca44", "action": { "label": "Continue", "top": 713.078125, @@ -5926,10 +5926,10 @@ "external-grafana-factory-setup-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-factory-setup-desktop-dark.png", "stage": "external-grafana-factory-setup", "theme": "dark", @@ -5939,7 +5939,7 @@ "width": 1440, "height": 900 }, - "sha256": "ca75750a58835a0a47489668edc8d4952673270a387ae6890909b5c91bee5c24", + "sha256": "46cbe7269e9cf8b12247419cb90743900509a8de1a00616515bb49216e919a0c", "action": { "label": "Continue", "top": 713.078125, @@ -5966,10 +5966,10 @@ "external-grafana-availability-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-availability-desktop-dark.png", "stage": "external-grafana-availability", "theme": "dark", @@ -5979,7 +5979,7 @@ "width": 1440, "height": 900 }, - "sha256": "beb15899ab05ebc31a11844dfd56faa17271e86ace8ace59c893cd1c3fec13f9", + "sha256": "de02865257dbe47377dfd450060d58a559e91ce1e562286b040e7a9fa8d41a92", "action": { "label": "Connection unavailable", "top": 713.078125, @@ -6006,10 +6006,10 @@ "external-playwright-requirements-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-requirements-desktop-dark.png", "stage": "external-playwright-requirements", "theme": "dark", @@ -6019,7 +6019,7 @@ "width": 1440, "height": 900 }, - "sha256": "8cbc8910e260eca27b80642fd6e43e4d5797acae8418523b435e855069ac5006", + "sha256": "c89d75fccef2685b5adaac99b677e9add35a25e44bd9d0769a55d8e006d21109", "action": { "label": "Continue", "top": 713.078125, @@ -6046,10 +6046,10 @@ "external-playwright-account-scope-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-account-scope-desktop-dark.png", "stage": "external-playwright-account-scope", "theme": "dark", @@ -6059,7 +6059,7 @@ "width": 1440, "height": 900 }, - "sha256": "db382f234be954f8e23d1efef3d3e1fa1f561747d9334382f21a24eeeef47763", + "sha256": "73681e0e8078b28293b3c1ecf490f9d5b735a8078089e3234853fa75ce349639", "action": { "label": "Continue", "top": 713.078125, @@ -6086,10 +6086,10 @@ "external-playwright-account-scope-detail-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-account-scope-detail-desktop-dark.png", "stage": "external-playwright-account-scope-detail", "theme": "dark", @@ -6099,7 +6099,7 @@ "width": 1440, "height": 900 }, - "sha256": "04dc7ede6909de1f7966a38c6f4b56d4be4e82fbd7c0597579e14bb5375e5ca7", + "sha256": "5d6cd7c2ed58ed662a4ef747cb9575bba67df3522735075e5255545e7b8ce42e", "action": { "label": "Continue", "top": 713.078125, @@ -6126,10 +6126,10 @@ "external-playwright-factory-setup-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-factory-setup-desktop-dark.png", "stage": "external-playwright-factory-setup", "theme": "dark", @@ -6139,7 +6139,7 @@ "width": 1440, "height": 900 }, - "sha256": "e9a27818416ebda884ab8338faeb8d1c03cd9610e92986714bc42106cde54273", + "sha256": "e223a61e5aa62393f5818cbd0cf8c6dc8acd7791f004754e64214e5fee843dbf", "action": { "label": "Continue", "top": 713.078125, @@ -6166,10 +6166,10 @@ "external-playwright-availability-desktop-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-availability-desktop-dark.png", "stage": "external-playwright-availability", "theme": "dark", @@ -6179,7 +6179,7 @@ "width": 1440, "height": 900 }, - "sha256": "e7f59519263a659f809d54effeaee384b3c1076676e2bd633839a6fb00b6c350", + "sha256": "c12fe8329a93fe2e587bc301ae89bb23b18572dfa2ca645bf73976c2944b3652", "action": { "label": "External template unavailable", "top": 713.078125, @@ -6206,10 +6206,10 @@ "external-catalog-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-catalog-mobile-light.png", "stage": "external-catalog", "theme": "light", @@ -6219,17 +6219,17 @@ "width": 390, "height": 844 }, - "sha256": "eff17deb011d819313d1b247fa2d1cbc28f00a625d409a767810d56facff2513", + "sha256": "6e4d3fc4701ac8eab2fa113e085c191d5c542d05238b9f9d53d2209ae90b7a27", "action": null, "captured_action": null }, "external-connection-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-connection-mobile-light.png", "stage": "external-connection", "theme": "light", @@ -6239,7 +6239,7 @@ "width": 390, "height": 844 }, - "sha256": "bc67f303bb6f2346835829544be81c36c75deb70897a4db64ffadc1edc53c7e0", + "sha256": "fa6c39f643b6545024d158c71fbae0365a7a24585278259456671367a43796f9", "action": { "label": "Save connection and continue", "top": 693.5, @@ -6266,10 +6266,10 @@ "external-discovery-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-discovery-mobile-light.png", "stage": "external-discovery", "theme": "light", @@ -6279,7 +6279,7 @@ "width": 390, "height": 844 }, - "sha256": "f9e347968036077c414c8858f2e75ab2ef849f8bbb43b8ffbc37971f554bb380", + "sha256": "642bff2415a4984793e1552110c170819810f3c35a810c2ab3809f9e9ffa2582", "action": { "label": "Discover schemas (remote request)", "top": 695, @@ -6306,10 +6306,10 @@ "external-review-overview-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-overview-mobile-light.png", "stage": "external-review-overview", "theme": "light", @@ -6319,7 +6319,7 @@ "width": 390, "height": 844 }, - "sha256": "ceb9c2dbee02d49766c46f6e40661e0ca4950a8d60c866a4f38a6ca325af0f09", + "sha256": "a0f9f2eae6e6fbf235332f3b8fb39e50b395b6a37edde341e881fccdf0a2744a", "action": { "label": "Record schema review", "top": 693.5, @@ -6346,10 +6346,10 @@ "external-review-schema-detail-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-schema-detail-mobile-light.png", "stage": "external-review-schema-detail", "theme": "light", @@ -6359,7 +6359,7 @@ "width": 390, "height": 844 }, - "sha256": "42e63fab8c1d5d332811c185b5c9810ce509cd0e22b68720082520b8aca8b4db", + "sha256": "61695341d296d8695ea684e188214ee5a52377fda9b3d8d2d62bd476671fef26", "action": { "label": "Record schema review", "top": 693.5, @@ -6386,10 +6386,10 @@ "external-review-confirmation-detail-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-confirmation-detail-mobile-light.png", "stage": "external-review-confirmation-detail", "theme": "light", @@ -6399,7 +6399,7 @@ "width": 390, "height": 844 }, - "sha256": "addef068cc677e7df6591357806b584dcf107084e58d035955348165f8ece4ee", + "sha256": "a532f333bff1ecf33155e8dee2a4384dbc36b862a77ccb6395ff5ac1a35973a5", "action": { "label": "Record schema review", "top": 693.5, @@ -6426,10 +6426,10 @@ "external-project-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-mobile-light.png", "stage": "external-project", "theme": "light", @@ -6439,7 +6439,7 @@ "width": 390, "height": 844 }, - "sha256": "eaa602da8f12d9411a12b41fd08b56778aa6207c828ee99a9c760ba5af7ff7d8", + "sha256": "859f253a65a9bc5ed4a781b7e43d377dacd9fb9596df3bc639a240fc41a21e55", "action": { "label": "Grant project access", "top": 693.5, @@ -6466,10 +6466,10 @@ "external-project-fields-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-fields-mobile-light.png", "stage": "external-project-fields", "theme": "light", @@ -6479,7 +6479,7 @@ "width": 390, "height": 844 }, - "sha256": "eaa602da8f12d9411a12b41fd08b56778aa6207c828ee99a9c760ba5af7ff7d8", + "sha256": "859f253a65a9bc5ed4a781b7e43d377dacd9fb9596df3bc639a240fc41a21e55", "action": { "label": "Grant project access", "top": 693.5, @@ -6506,10 +6506,10 @@ "external-project-roles-detail-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-roles-detail-mobile-light.png", "stage": "external-project-roles-detail", "theme": "light", @@ -6519,7 +6519,7 @@ "width": 390, "height": 844 }, - "sha256": "41db787d14b92d4b17e9e2aabf8048e47d603df4c54c4c392e1d906dc5912fc1", + "sha256": "db6b024f5881b1ff58e3ffd9338059be4a44ad1dc8ff1b86cf4a1dcf8658f8bf", "action": { "label": "Grant project access", "top": 693.5, @@ -6546,10 +6546,10 @@ "external-granted-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-granted-mobile-light.png", "stage": "external-granted", "theme": "light", @@ -6559,7 +6559,7 @@ "width": 390, "height": 844 }, - "sha256": "1216977f073f5e09871d78a570035f6bcdc0b07cf3847c26892de28ebe12ed9f", + "sha256": "90e91719017b4416e9562af085cbf1f19bacdebec42191866598275e827c6bb3", "action": { "label": "Revoke access", "top": 713.984375, @@ -6586,10 +6586,10 @@ "external-figma-requirements-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-requirements-mobile-light.png", "stage": "external-figma-requirements", "theme": "light", @@ -6599,7 +6599,7 @@ "width": 390, "height": 844 }, - "sha256": "db305657a2a5c03aa88d6beb0ef7bbd870b8badd86fe1276670e198b64b017a3", + "sha256": "fa8aa91ca0c1220f0ae108c8655fde096ccecf04fa0b6fb68915f0228cd53e6f", "action": { "label": "Continue", "top": 693.5, @@ -6626,10 +6626,10 @@ "external-figma-account-scope-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-account-scope-mobile-light.png", "stage": "external-figma-account-scope", "theme": "light", @@ -6639,7 +6639,7 @@ "width": 390, "height": 844 }, - "sha256": "f04bd390e0944eca5483aa3a3350f30797853e2e510b71b9f1d1146ed150dc1a", + "sha256": "d1b39beb1ef2f0fe380b70c4548556d1a7fbd46a1e32b5e663398fcc68fa85a0", "action": { "label": "Continue", "top": 693.5, @@ -6666,10 +6666,10 @@ "external-figma-account-scope-detail-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-account-scope-detail-mobile-light.png", "stage": "external-figma-account-scope-detail", "theme": "light", @@ -6679,7 +6679,7 @@ "width": 390, "height": 844 }, - "sha256": "d8b0c38d72f8a369a4c193f592ca9d4da0c967cc9fff2f4dfc95bd89197f8ba1", + "sha256": "3a728f434b1e24f39f350f5199b62f9b20c0921a36ce1f152f5057a5a7ef0958", "action": { "label": "Continue", "top": 693.5, @@ -6706,10 +6706,10 @@ "external-figma-factory-setup-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-factory-setup-mobile-light.png", "stage": "external-figma-factory-setup", "theme": "light", @@ -6719,7 +6719,7 @@ "width": 390, "height": 844 }, - "sha256": "ace1594019fd96389b9a395ca59c7c669446f583bfa4ec7a8fc71ecada3fa0be", + "sha256": "2a0a36da454266a69a4b1b0b9647068cf810cbb9621a98b5b2551065472d94f6", "action": { "label": "Continue", "top": 693.5, @@ -6746,10 +6746,10 @@ "external-figma-availability-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-availability-mobile-light.png", "stage": "external-figma-availability", "theme": "light", @@ -6759,7 +6759,7 @@ "width": 390, "height": 844 }, - "sha256": "db889882b8476039632e3324209b7dd9509f47bdb300bd7ea077d2b5dca9bdf6", + "sha256": "c1ba260469d3945f9c7a91193b32a27d72aa230fd6828d7c751e18d44ac7a16a", "action": { "label": "Connection unavailable", "top": 693.5, @@ -6786,10 +6786,10 @@ "external-sentry-requirements-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-requirements-mobile-light.png", "stage": "external-sentry-requirements", "theme": "light", @@ -6799,7 +6799,7 @@ "width": 390, "height": 844 }, - "sha256": "2854868dda8258a233c50b363d875db099fe8ac1ebf91c9f5c26c9383fd3d053", + "sha256": "828dbe29d303c785ed7dc3e50846dc570cacead93c7bf3eb8734920f0ca5400a", "action": { "label": "Continue", "top": 693.5, @@ -6826,10 +6826,10 @@ "external-sentry-account-scope-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-account-scope-mobile-light.png", "stage": "external-sentry-account-scope", "theme": "light", @@ -6839,7 +6839,7 @@ "width": 390, "height": 844 }, - "sha256": "34fd3828c982049f25319af95aef32639dc2ff1753577f97fd73b8cc8164cde1", + "sha256": "0f43f24dc3c4b7a802e27efb92f1a3e56af7445449dcc79eba7b1edcc312792d", "action": { "label": "Continue", "top": 693.5, @@ -6866,10 +6866,10 @@ "external-sentry-account-scope-detail-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-account-scope-detail-mobile-light.png", "stage": "external-sentry-account-scope-detail", "theme": "light", @@ -6879,7 +6879,7 @@ "width": 390, "height": 844 }, - "sha256": "b9194698ab0b38597fd00078b97c57a123a2bacd853d9e492db67ef9079ee0b7", + "sha256": "841c35868a96d484586df2b233f9c4ca445bb52277ce728d387f21f4dbaaf047", "action": { "label": "Continue", "top": 693.5, @@ -6906,10 +6906,10 @@ "external-sentry-factory-setup-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-factory-setup-mobile-light.png", "stage": "external-sentry-factory-setup", "theme": "light", @@ -6919,7 +6919,7 @@ "width": 390, "height": 844 }, - "sha256": "fac7da2aa02e3e29111b2e50f816aaa6f7e38f5e610ef7db177b1287f87fb2ac", + "sha256": "af006e90af251dbf24e0eac9ea247f54861ec5277e83c3ce787b4b47185e9476", "action": { "label": "Continue", "top": 693.5, @@ -6946,10 +6946,10 @@ "external-sentry-availability-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-availability-mobile-light.png", "stage": "external-sentry-availability", "theme": "light", @@ -6959,7 +6959,7 @@ "width": 390, "height": 844 }, - "sha256": "0d597f48156e818083dfd50afb943e39fb63093f6d36d7da4cc35ab9a3d64a4a", + "sha256": "4f9e65da9d1dac5d81259e29e32fca84cc08ec5f41dd11ebd49c84ec7d8b97a4", "action": { "label": "Connection unavailable", "top": 693.5, @@ -6986,10 +6986,10 @@ "external-grafana-requirements-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-requirements-mobile-light.png", "stage": "external-grafana-requirements", "theme": "light", @@ -6999,7 +6999,7 @@ "width": 390, "height": 844 }, - "sha256": "d01898ae05d2efe7f90a9c18784566c7a9ea1236547f6551aaa6ae96294a5f1d", + "sha256": "5745dbd7233bb57729bf34c653c91df79954de3a90908d67e6c74759111031e3", "action": { "label": "Continue", "top": 693.5, @@ -7026,10 +7026,10 @@ "external-grafana-account-scope-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-account-scope-mobile-light.png", "stage": "external-grafana-account-scope", "theme": "light", @@ -7039,7 +7039,7 @@ "width": 390, "height": 844 }, - "sha256": "d9e3a98046a818b791f41713dadcf61644129733ea915c117e8da28f2a9af38d", + "sha256": "fc372e88f83d191c25f2d0c9bbb1f0722ddffd19d5553f303696d2b7db809812", "action": { "label": "Continue", "top": 693.5, @@ -7066,10 +7066,10 @@ "external-grafana-account-scope-detail-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-account-scope-detail-mobile-light.png", "stage": "external-grafana-account-scope-detail", "theme": "light", @@ -7079,7 +7079,7 @@ "width": 390, "height": 844 }, - "sha256": "b93f07be1bce8225832e8700a290f0050c8ea6c2828d909c7a00b99e5dd478a7", + "sha256": "acd0b36c0be818ef9841ac8df5914c0cf7b58fc728a0ffe9cb204e757962febf", "action": { "label": "Continue", "top": 693.5, @@ -7106,10 +7106,10 @@ "external-grafana-factory-setup-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-factory-setup-mobile-light.png", "stage": "external-grafana-factory-setup", "theme": "light", @@ -7119,7 +7119,7 @@ "width": 390, "height": 844 }, - "sha256": "3f48d3850517a64d12fa2283208ad39db0484028797247848955f54ff8715403", + "sha256": "092b4d6e0330cc5dcea379aca417e61f9743044ad12352bc7458e3bd59bd1505", "action": { "label": "Continue", "top": 693.5, @@ -7146,10 +7146,10 @@ "external-grafana-availability-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-availability-mobile-light.png", "stage": "external-grafana-availability", "theme": "light", @@ -7159,7 +7159,7 @@ "width": 390, "height": 844 }, - "sha256": "fb7041b9c2be5bb3438f9a6f7c6721ef1a2b29cc109119c8ae2454d34712e526", + "sha256": "acb1adcac46df047c7453edea0c87c4ae8243e8ee8eeff00af7a3cbc5ac66e43", "action": { "label": "Connection unavailable", "top": 693.5, @@ -7186,10 +7186,10 @@ "external-playwright-requirements-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-requirements-mobile-light.png", "stage": "external-playwright-requirements", "theme": "light", @@ -7199,7 +7199,7 @@ "width": 390, "height": 844 }, - "sha256": "9724b28ac4952cdbe03c158152cf9b6a7719d19756db4b04b10701be1fd3817c", + "sha256": "ffa125f30414303341d2a625d3b0f2ead5cb3654e5b92b18dc4b9654eec5cfb5", "action": { "label": "Continue", "top": 693.5, @@ -7226,10 +7226,10 @@ "external-playwright-account-scope-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-account-scope-mobile-light.png", "stage": "external-playwright-account-scope", "theme": "light", @@ -7239,7 +7239,7 @@ "width": 390, "height": 844 }, - "sha256": "74c3f9d5b929b11f613d8dee8d7d6d3e83c34b06d575cff772cda341703f2495", + "sha256": "e69d42d2ca01dc504a97fc01c6876156dacc2124403bee644f905f2a6ecf3c83", "action": { "label": "Continue", "top": 693.5, @@ -7266,10 +7266,10 @@ "external-playwright-account-scope-detail-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-account-scope-detail-mobile-light.png", "stage": "external-playwright-account-scope-detail", "theme": "light", @@ -7279,7 +7279,7 @@ "width": 390, "height": 844 }, - "sha256": "6064a5bfd9785dfc878307b8c970ecd9c5bf82eb2a11d947ee7a2f72104b9a03", + "sha256": "95efcc00b79af1fd42146369665d39e93800a50dc71d992d3d1a147dd00221d7", "action": { "label": "Continue", "top": 693.5, @@ -7306,10 +7306,10 @@ "external-playwright-factory-setup-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-factory-setup-mobile-light.png", "stage": "external-playwright-factory-setup", "theme": "light", @@ -7319,7 +7319,7 @@ "width": 390, "height": 844 }, - "sha256": "e90143a11153dccb001f7f1c602543e1166234503e5130c8879e1ce04c3cfa37", + "sha256": "3225ef1c9c0d8f8635a6b8fab3e7d52d64a7040ad5f2bf78c0a0ba019c877831", "action": { "label": "Continue", "top": 693.5, @@ -7346,10 +7346,10 @@ "external-playwright-availability-mobile-light.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-availability-mobile-light.png", "stage": "external-playwright-availability", "theme": "light", @@ -7359,7 +7359,7 @@ "width": 390, "height": 844 }, - "sha256": "aa34fd621631d3786ad8569c23eccf7202c3627592e14725630f640ca68de99d", + "sha256": "e64faf93365e9b7aa6648f2c59fb6010fe5e33034dcd1a90dfda7c2de1bf8455", "action": { "label": "External template unavailable", "top": 693.5, @@ -7386,10 +7386,10 @@ "external-catalog-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-catalog-mobile-dark.png", "stage": "external-catalog", "theme": "dark", @@ -7399,17 +7399,17 @@ "width": 390, "height": 844 }, - "sha256": "c2f87fb8c545290b008a9253b703c4e8e5d23721c17f2cc0a9653e3a494ffcf0", + "sha256": "796587fb8e2993df5793898cad8796e24ff1fa1e2f560272651b2217529192e0", "action": null, "captured_action": null }, "external-connection-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-connection-mobile-dark.png", "stage": "external-connection", "theme": "dark", @@ -7419,7 +7419,7 @@ "width": 390, "height": 844 }, - "sha256": "6170b819896416e00d9c8792589d6f30b3886ff73f457c5aecac6187cb470bfa", + "sha256": "76069d3da031238e4fa71a4340a2c38a22b4d8d79ab90477ac3b2f4c9e43f182", "action": { "label": "Save connection and continue", "top": 693.5, @@ -7446,10 +7446,10 @@ "external-discovery-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-discovery-mobile-dark.png", "stage": "external-discovery", "theme": "dark", @@ -7459,7 +7459,7 @@ "width": 390, "height": 844 }, - "sha256": "d7bda3c4106f8cfe799a2dda66f42a42e9482c9f9114af6c22b3eedca232a4cb", + "sha256": "27bdfafd928ce2b692a23d70ee450a3e984ebcb2acc36a769afa2af4f3e6016c", "action": { "label": "Discover schemas (remote request)", "top": 695, @@ -7486,10 +7486,10 @@ "external-review-overview-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-overview-mobile-dark.png", "stage": "external-review-overview", "theme": "dark", @@ -7499,7 +7499,7 @@ "width": 390, "height": 844 }, - "sha256": "2b2ecd2729781ca27bfa936ccd5a5c1ed1c15704e8b618f83ed8bcc94fe16ff6", + "sha256": "d1dc50bc4e27f76fdf7156bb1118a825506829f847529f05b730f9de44a0b41a", "action": { "label": "Record schema review", "top": 693.5, @@ -7526,10 +7526,10 @@ "external-review-schema-detail-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-schema-detail-mobile-dark.png", "stage": "external-review-schema-detail", "theme": "dark", @@ -7539,7 +7539,7 @@ "width": 390, "height": 844 }, - "sha256": "6054028c7026a0c71047d2d6d3081f5cababe61b55c434aab215c661852b59f9", + "sha256": "3b42993c8eeda52bd19419bbe889be59375e5e119998391175ee461466e45f38", "action": { "label": "Record schema review", "top": 693.5, @@ -7566,10 +7566,10 @@ "external-review-confirmation-detail-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-review-confirmation-detail-mobile-dark.png", "stage": "external-review-confirmation-detail", "theme": "dark", @@ -7579,7 +7579,7 @@ "width": 390, "height": 844 }, - "sha256": "d131e9b7e47048173427bd7c5fc253e0027524e114cf86ec356fb3b7ba867a08", + "sha256": "2c4685368d85a57f006b8e5a3ef1ee259001bfa59b81092fe4f4200fe53eb383", "action": { "label": "Record schema review", "top": 693.5, @@ -7606,10 +7606,10 @@ "external-project-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-mobile-dark.png", "stage": "external-project", "theme": "dark", @@ -7619,7 +7619,7 @@ "width": 390, "height": 844 }, - "sha256": "a2c3f2a5d38521be382fead64bc66e45b0b0d80ea6f517138f0d4228662d5315", + "sha256": "95d33af7c8c40768aee703c80a5f44c0391756846322d85444bf2c29804771ac", "action": { "label": "Grant project access", "top": 693.5, @@ -7646,10 +7646,10 @@ "external-project-fields-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-fields-mobile-dark.png", "stage": "external-project-fields", "theme": "dark", @@ -7659,7 +7659,7 @@ "width": 390, "height": 844 }, - "sha256": "a2c3f2a5d38521be382fead64bc66e45b0b0d80ea6f517138f0d4228662d5315", + "sha256": "95d33af7c8c40768aee703c80a5f44c0391756846322d85444bf2c29804771ac", "action": { "label": "Grant project access", "top": 693.5, @@ -7686,10 +7686,10 @@ "external-project-roles-detail-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-project-roles-detail-mobile-dark.png", "stage": "external-project-roles-detail", "theme": "dark", @@ -7699,7 +7699,7 @@ "width": 390, "height": 844 }, - "sha256": "277172702412c802a304113f1cb87cdedafb56b64188b6c4d2ad8b4081c2145f", + "sha256": "f405d0d52da38eb0c3c8a5e0bdd8c0792cfa827ca464f7c7cf3187738200380d", "action": { "label": "Grant project access", "top": 693.5, @@ -7726,10 +7726,10 @@ "external-granted-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-granted-mobile-dark.png", "stage": "external-granted", "theme": "dark", @@ -7739,7 +7739,7 @@ "width": 390, "height": 844 }, - "sha256": "bd8bb17b8306b12c3fadcf8f48b0177fe2aff245936e9f9c8d22970031a32b05", + "sha256": "d4736ec5fc55d9adb849d54cfb4bd37dcea9d03d3ed6dc9486b233c78db0b8b7", "action": { "label": "Revoke access", "top": 713.984375, @@ -7766,10 +7766,10 @@ "external-figma-requirements-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-requirements-mobile-dark.png", "stage": "external-figma-requirements", "theme": "dark", @@ -7779,7 +7779,7 @@ "width": 390, "height": 844 }, - "sha256": "8a5676faaeede694c176e7d67c3f94cfb2620f971bfd98160faf1804a821bebc", + "sha256": "2186c06e9201d154a358cd2455ecab576b8e668c1097d09da824fa255bea95fd", "action": { "label": "Continue", "top": 693.5, @@ -7806,10 +7806,10 @@ "external-figma-account-scope-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-account-scope-mobile-dark.png", "stage": "external-figma-account-scope", "theme": "dark", @@ -7819,7 +7819,7 @@ "width": 390, "height": 844 }, - "sha256": "83e4e84f0fbb312c96616b22f27cceb263feb343c7c95307396d223241429461", + "sha256": "c44308893fb92717a79810b284ac1f6030c6458526d91fe6448d3f6d62bb6ff5", "action": { "label": "Continue", "top": 693.5, @@ -7846,10 +7846,10 @@ "external-figma-account-scope-detail-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-account-scope-detail-mobile-dark.png", "stage": "external-figma-account-scope-detail", "theme": "dark", @@ -7859,7 +7859,7 @@ "width": 390, "height": 844 }, - "sha256": "d78e3435a0d5cc010e33d9ffa3768f5b7086a44421d066145f7f634dd650d7b3", + "sha256": "1a92cb9c67bbd41712a8d4528731dc77436f64f30e5aaac1a8994a926d08c3f9", "action": { "label": "Continue", "top": 693.5, @@ -7886,10 +7886,10 @@ "external-figma-factory-setup-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-factory-setup-mobile-dark.png", "stage": "external-figma-factory-setup", "theme": "dark", @@ -7899,7 +7899,7 @@ "width": 390, "height": 844 }, - "sha256": "ba087008264d7fc07b2417851257a58cf07ab8672dcd07ebf076a85af5634e46", + "sha256": "751fef61df8c163e2c421f68a002bf4acde9b8b6467493f6cf2c1f6afc811ba4", "action": { "label": "Continue", "top": 693.5, @@ -7926,10 +7926,10 @@ "external-figma-availability-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-figma-availability-mobile-dark.png", "stage": "external-figma-availability", "theme": "dark", @@ -7939,7 +7939,7 @@ "width": 390, "height": 844 }, - "sha256": "dee35f37d4cd14c2bb93b5ffdcf0c26fa367c2c3ef12bd93c9a81ded72c12701", + "sha256": "afdf3116d241b1403dbc886bbcbffb54660444a0a52dd4fd3f66dd97d66b888a", "action": { "label": "Connection unavailable", "top": 693.5, @@ -7966,10 +7966,10 @@ "external-sentry-requirements-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-requirements-mobile-dark.png", "stage": "external-sentry-requirements", "theme": "dark", @@ -7979,7 +7979,7 @@ "width": 390, "height": 844 }, - "sha256": "3123d1907d6085c571eaa1c57fac92ba38df8789d93fbda66431f4962ea64302", + "sha256": "7bb169b9fe8a58595c431b1452ceab3b41c91336bf83dd446146dc9b9741e63e", "action": { "label": "Continue", "top": 693.5, @@ -8006,10 +8006,10 @@ "external-sentry-account-scope-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-account-scope-mobile-dark.png", "stage": "external-sentry-account-scope", "theme": "dark", @@ -8019,7 +8019,7 @@ "width": 390, "height": 844 }, - "sha256": "18e0d5015adf3d0b01e8d0ff0b5dda1540451b1d85aaa0e763b65bb6e6d35f56", + "sha256": "a30f7ce8f1e5f400fc88d5ad399039217a06409d3adbd25a773134d3c13f2215", "action": { "label": "Continue", "top": 693.5, @@ -8046,10 +8046,10 @@ "external-sentry-account-scope-detail-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-account-scope-detail-mobile-dark.png", "stage": "external-sentry-account-scope-detail", "theme": "dark", @@ -8059,7 +8059,7 @@ "width": 390, "height": 844 }, - "sha256": "67eb2bfaa8c6fb66d0e54e69d07f94cfa54fc5e793d5a0a886a41cbdd2df0332", + "sha256": "e25ad97fb8d421b8316625f398fb3d43c425623e9d0c8d12e901f91b793b70fa", "action": { "label": "Continue", "top": 693.5, @@ -8086,10 +8086,10 @@ "external-sentry-factory-setup-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-factory-setup-mobile-dark.png", "stage": "external-sentry-factory-setup", "theme": "dark", @@ -8099,7 +8099,7 @@ "width": 390, "height": 844 }, - "sha256": "e073a3b84ed835dfbbaa69caa530b653b5fab8a3b5f1598ae9086e87fdc0cb28", + "sha256": "34bcfb17f670bd61bbdb4a0d501df68df8ab7907c223ef89c15e659e06362763", "action": { "label": "Continue", "top": 693.5, @@ -8126,10 +8126,10 @@ "external-sentry-availability-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-sentry-availability-mobile-dark.png", "stage": "external-sentry-availability", "theme": "dark", @@ -8139,7 +8139,7 @@ "width": 390, "height": 844 }, - "sha256": "ed671e500d76cb67574341ad97c36803cb0a37299d3987075fb120e1c57c6572", + "sha256": "147852ea8f6586c65f0ade515f79b66b3b30da2816c4260fac0ea8fe60201760", "action": { "label": "Connection unavailable", "top": 693.5, @@ -8166,10 +8166,10 @@ "external-grafana-requirements-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-requirements-mobile-dark.png", "stage": "external-grafana-requirements", "theme": "dark", @@ -8179,7 +8179,7 @@ "width": 390, "height": 844 }, - "sha256": "07cc4dae28f8e0737b6683a1adf3c8180946baef25c54def6593987103b9516d", + "sha256": "f6a18d79b65af2c5c40025fb1499fc7e73cde17a80c368eb85292f2e2aaab8dd", "action": { "label": "Continue", "top": 693.5, @@ -8206,10 +8206,10 @@ "external-grafana-account-scope-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-account-scope-mobile-dark.png", "stage": "external-grafana-account-scope", "theme": "dark", @@ -8219,7 +8219,7 @@ "width": 390, "height": 844 }, - "sha256": "8d7d26b167eaa2e2017b492e4fb8cd75fc7fde24a29011b4af8120893064c591", + "sha256": "fc0c2789fa0edb68568f2356c2cd662938ef0d71c8e52e73234ea0f24256da5e", "action": { "label": "Continue", "top": 693.5, @@ -8246,10 +8246,10 @@ "external-grafana-account-scope-detail-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-account-scope-detail-mobile-dark.png", "stage": "external-grafana-account-scope-detail", "theme": "dark", @@ -8259,7 +8259,7 @@ "width": 390, "height": 844 }, - "sha256": "63e3c95b8a747d899fc06b9d5870fc6be6010fc3765468ef09dad8e7fa10ff77", + "sha256": "eb1726349bfff7df30560d99d06a10c55bc6d587df132b4b6ff99c6f16d1ab1d", "action": { "label": "Continue", "top": 693.5, @@ -8286,10 +8286,10 @@ "external-grafana-factory-setup-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-factory-setup-mobile-dark.png", "stage": "external-grafana-factory-setup", "theme": "dark", @@ -8299,7 +8299,7 @@ "width": 390, "height": 844 }, - "sha256": "66cce4306d9fbfcaac56fabdde764ea1d901ee38893be0c7564ec01b6ee23881", + "sha256": "9bdcf7c0751f248fa088950e0937d5d024101b9aa10fe5c70caed32473139449", "action": { "label": "Continue", "top": 693.5, @@ -8326,10 +8326,10 @@ "external-grafana-availability-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-grafana-availability-mobile-dark.png", "stage": "external-grafana-availability", "theme": "dark", @@ -8339,7 +8339,7 @@ "width": 390, "height": 844 }, - "sha256": "fbba900bd3b6ba4b028f27b1ceba1f2f0e6975275d4ec0e24c098bcff6558536", + "sha256": "84818f2a3a87c3a8886d6fc32395266415596f76ada797dbf9ac6e7d14550565", "action": { "label": "Connection unavailable", "top": 693.5, @@ -8366,10 +8366,10 @@ "external-playwright-requirements-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-requirements-mobile-dark.png", "stage": "external-playwright-requirements", "theme": "dark", @@ -8379,7 +8379,7 @@ "width": 390, "height": 844 }, - "sha256": "122ad1ab32b347706896e1346a91b3f850f013abcd70b0dada82e8dba76ffb50", + "sha256": "22871b6e0de1b7b87f2b3ad7cafcea493d79051a59c7688fe78559f938f68677", "action": { "label": "Continue", "top": 693.5, @@ -8406,10 +8406,10 @@ "external-playwright-account-scope-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-account-scope-mobile-dark.png", "stage": "external-playwright-account-scope", "theme": "dark", @@ -8419,7 +8419,7 @@ "width": 390, "height": 844 }, - "sha256": "1d0ac0429319d4219718c6e011e7414402fe4b358c27cfeb2b2bc285e3e0c193", + "sha256": "6f0e82c9783d5ddc798de19c5e570c67b3b74a514e9f1e669cba67b748d6b4d0", "action": { "label": "Continue", "top": 693.5, @@ -8446,10 +8446,10 @@ "external-playwright-account-scope-detail-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-account-scope-detail-mobile-dark.png", "stage": "external-playwright-account-scope-detail", "theme": "dark", @@ -8459,7 +8459,7 @@ "width": 390, "height": 844 }, - "sha256": "54b7ddb21fa31761908eda2ba5c9a4d2f7039672c9003b2ade091b6c2aacc11a", + "sha256": "6a835e790d94013eedc35ea5f2612806f0628fbba7bf9792aa4b65155c3724d8", "action": { "label": "Continue", "top": 693.5, @@ -8486,10 +8486,10 @@ "external-playwright-factory-setup-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-factory-setup-mobile-dark.png", "stage": "external-playwright-factory-setup", "theme": "dark", @@ -8499,7 +8499,7 @@ "width": 390, "height": 844 }, - "sha256": "adf793dc492a8bf03b83d00071b3e68c8afca30ee3ac2e39634f8a04d35db0cc", + "sha256": "80972d62781da8e609d9177d68e6c58187307d48177cb73d589e7983b6918bd5", "action": { "label": "Continue", "top": 693.5, @@ -8526,10 +8526,10 @@ "external-playwright-availability-mobile-dark.png": { "producer": "studio/tests/external-tools.spec.ts", "producer_sha256": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/external-playwright-availability-mobile-dark.png", "stage": "external-playwright-availability", "theme": "dark", @@ -8539,7 +8539,7 @@ "width": 390, "height": 844 }, - "sha256": "88a37b4925fb287e6c904e789eabe64584a15dc96f5d9c98833d385bd7597c1e", + "sha256": "885860fe00b2b962b08f14e8791f6f79bb5342f5cbb5acbbb00d201b507b967a", "action": { "label": "External template unavailable", "top": 693.5, @@ -8565,11 +8565,11 @@ }, "learning-knowledge-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-knowledge-desktop-light.png", "stage": "learning-knowledge", "theme": "light", @@ -8579,7 +8579,7 @@ "width": 1440, "height": 900 }, - "sha256": "e86e77fe4ab56badfc031067a0a5880b639f7e8c2afa1418312433bfe94e0b82", + "sha256": "49907b627437684617e6a1f20e7d94c9ba35ecfe36a1bf6902b9bb083d7b9088", "action": { "label": "Continue", "top": 713.078125, @@ -8605,11 +8605,11 @@ }, "learning-limits-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-limits-desktop-light.png", "stage": "learning-limits", "theme": "light", @@ -8619,7 +8619,7 @@ "width": 1440, "height": 900 }, - "sha256": "6efecd17766bfde9567633a7de99d4a8d59e59dbafc7b0236be631f538c3cecd", + "sha256": "da59928a20250a16b5df4a86a1d57a686306c40c6372d326f0f11a02544c02f3", "action": { "label": "Continue", "top": 713.078125, @@ -8645,11 +8645,11 @@ }, "learning-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-review-desktop-light.png", "stage": "learning-review", "theme": "light", @@ -8659,7 +8659,7 @@ "width": 1440, "height": 900 }, - "sha256": "c9d523d94c9f779a67b75f2abf45c07605c3675ba4ec9019e692d588dc0cfe89", + "sha256": "18d1fbc1231eab4680b7ae4e9afb909414062b2e940f43b5fd9659070fe7ee3e", "action": { "label": "Save learning settings", "top": 713.078125, @@ -8685,11 +8685,11 @@ }, "learning-saved-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-saved-desktop-light.png", "stage": "learning-saved", "theme": "light", @@ -8699,7 +8699,7 @@ "width": 1440, "height": 900 }, - "sha256": "87efc48ae687d1225eeb5cbcb058df400e69c6eb80fc1b29195dd6d007774d67", + "sha256": "b415ff036883ea1dcbf5402a018ae679bee26ec932f3dc2840f1518b4a3e1539", "action": { "label": "Edit learning settings", "top": 672.484375, @@ -8725,11 +8725,11 @@ }, "learning-knowledge-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-knowledge-desktop-dark.png", "stage": "learning-knowledge", "theme": "dark", @@ -8739,7 +8739,7 @@ "width": 1440, "height": 900 }, - "sha256": "4342190cc45b0ccf1c7a593e0fc3a9f5449ddf09a846fd6b79ada31041f67927", + "sha256": "074571301c6292c7e2fbd7442354cbc5e781fcd596330d5447748896dfa7726d", "action": { "label": "Continue", "top": 713.078125, @@ -8765,11 +8765,11 @@ }, "learning-limits-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-limits-desktop-dark.png", "stage": "learning-limits", "theme": "dark", @@ -8779,7 +8779,7 @@ "width": 1440, "height": 900 }, - "sha256": "26f38491d05c32a5e8b7fac73fa2cae5ecc72166a0873842addce7eaf057b468", + "sha256": "34f1c32c79914f988c5134d1381cdf4f710d4160196de43369dfbd1b3987f4ee", "action": { "label": "Continue", "top": 713.078125, @@ -8805,11 +8805,11 @@ }, "learning-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-review-desktop-dark.png", "stage": "learning-review", "theme": "dark", @@ -8819,7 +8819,7 @@ "width": 1440, "height": 900 }, - "sha256": "eeb259b526f8decc8966adc756a071f4fc8ed7fe483db832ccefb3b1b681c807", + "sha256": "57daa9268c26e2bab1ec864234fffcca658a4cf33211b1f886414a96bdee94e0", "action": { "label": "Save learning settings", "top": 713.078125, @@ -8845,11 +8845,11 @@ }, "learning-saved-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-saved-desktop-dark.png", "stage": "learning-saved", "theme": "dark", @@ -8859,7 +8859,7 @@ "width": 1440, "height": 900 }, - "sha256": "89ae2967e8a220b26b08003c03680c54781431b5e500fef31ad7ef99ddb735be", + "sha256": "402bdd67a693c4fb55dd3dbf1b3e3aa4190b9cbeaf8ec508baa03a51f80b3658", "action": { "label": "Edit learning settings", "top": 672.484375, @@ -8885,11 +8885,11 @@ }, "learning-knowledge-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-knowledge-mobile-light.png", "stage": "learning-knowledge", "theme": "light", @@ -8899,7 +8899,7 @@ "width": 390, "height": 844 }, - "sha256": "965c9db0b65841240422d569aba2749700b04b48f96fc288a250a23eba6713ca", + "sha256": "d673bf3523e1d5645e726fc4babec4a91320ad07caa650a6b1f87f662d9cf580", "action": { "label": "Continue", "top": 693.078125, @@ -8925,11 +8925,11 @@ }, "learning-limits-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-limits-mobile-light.png", "stage": "learning-limits", "theme": "light", @@ -8939,7 +8939,7 @@ "width": 390, "height": 844 }, - "sha256": "5f9169dca930a321afdb6dec8a2a7539cd8c47be21d0cb25e8e292ba59dcfd48", + "sha256": "b107b3cdcaef3c47b0fbbdc4ef69400d07ba7a2d6adb2863f93f9d9fb4ce20d7", "action": { "label": "Continue", "top": 693.078125, @@ -8965,11 +8965,11 @@ }, "learning-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-review-mobile-light.png", "stage": "learning-review", "theme": "light", @@ -8979,7 +8979,7 @@ "width": 390, "height": 844 }, - "sha256": "5d7c3a8a21f65cc36d1296b368512dd5dca7ccf3e4bf39a0aee631c50337e461", + "sha256": "20e503b90074115b7af7e17980411876751dbba593ae092903261209f09d5c5f", "action": { "label": "Save learning settings", "top": 693.078125, @@ -9005,11 +9005,11 @@ }, "learning-saved-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-saved-mobile-light.png", "stage": "learning-saved", "theme": "light", @@ -9019,7 +9019,7 @@ "width": 390, "height": 844 }, - "sha256": "83e9df4e55e03914a1473cb52187fa4639a22b7ba5e4a1ec66438a34dedf75b2", + "sha256": "087e2ab4114bb98b5eaecf05a142e7101c63925d0631550a8541b51100bf472e", "action": { "label": "Edit learning settings", "top": 649.171875, @@ -9045,11 +9045,11 @@ }, "learning-knowledge-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-knowledge-mobile-dark.png", "stage": "learning-knowledge", "theme": "dark", @@ -9059,7 +9059,7 @@ "width": 390, "height": 844 }, - "sha256": "533177938f39b063936e5fae4eb7a0db9f853396f7cdb78a1a66d17cee3bf8b4", + "sha256": "3e8d8f788428a4fdd2487b26c1577cff5621a6e0ffddf646b1a6cf4a2beca09e", "action": { "label": "Continue", "top": 693.078125, @@ -9085,11 +9085,11 @@ }, "learning-limits-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-limits-mobile-dark.png", "stage": "learning-limits", "theme": "dark", @@ -9099,7 +9099,7 @@ "width": 390, "height": 844 }, - "sha256": "ff508ba5bf8debd5b2d35818a6df7c8b3353973cfa4e8e987723493ac66fd720", + "sha256": "80ee9eba457402c2dcb769ef9135afbff561753be0ce9ee959e2a63cfe9dc520", "action": { "label": "Continue", "top": 693.078125, @@ -9125,11 +9125,11 @@ }, "learning-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-review-mobile-dark.png", "stage": "learning-review", "theme": "dark", @@ -9139,7 +9139,7 @@ "width": 390, "height": 844 }, - "sha256": "9a2fbadf509afc32f50bb70c4eebb46c0b0d2c994b176d4a8f4638d3594ab18c", + "sha256": "373877adcca3428e16f9757dd412e9b75dc1b0bc1f4352b99bdf6213cb4225b1", "action": { "label": "Save learning settings", "top": 693.078125, @@ -9165,11 +9165,11 @@ }, "learning-saved-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-saved-mobile-dark.png", "stage": "learning-saved", "theme": "dark", @@ -9179,7 +9179,7 @@ "width": 390, "height": 844 }, - "sha256": "0d3097c1ef7183080aa96d311054ae8538dab1b5a2773680df4b2e255e56ce8f", + "sha256": "2169c987f76180ba35995f0e59b035463f9505f162a2a572ad940b0f539f3fd2", "action": { "label": "Edit learning settings", "top": 649.171875, @@ -9205,11 +9205,11 @@ }, "learning-records-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-records-desktop-light.png", "stage": "learning-records", "theme": "light", @@ -9219,7 +9219,7 @@ "width": 1440, "height": 900 }, - "sha256": "001bc9504c40ac7ee16d4ef7aa4875457248fb912b678307c08cd1a9a6f31278", + "sha256": "41da9d5c04c2bc0962824ac9fccd8ba46667e60bc84c035edd53005ea989b869", "action": { "label": "Refresh records", "top": 409.796875, @@ -9245,11 +9245,11 @@ }, "learning-projection-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-projection-desktop-light.png", "stage": "learning-projection", "theme": "light", @@ -9259,17 +9259,17 @@ "width": 1440, "height": 900 }, - "sha256": "b062b825ac4acdf9df6a23ccea928b7c8a6e0d4153435d547bf1cfbd4359f32b", + "sha256": "2173ef82646a4be305a899cdb062cc34095a4c6d4648288f050e93bb51328e6b", "action": null, "captured_action": null }, "learning-provenance-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-provenance-desktop-light.png", "stage": "learning-provenance", "theme": "light", @@ -9279,17 +9279,17 @@ "width": 1440, "height": 900 }, - "sha256": "6b966c2001066e860aa9938907c746d46d9d4f7ffb2aa5215b40b6de967bede7", + "sha256": "7baf5cedb0b138599af96634f81367de02c5c5fabf61c2c9a6f617be644b03d2", "action": null, "captured_action": null }, "learning-candidate-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-candidate-desktop-light.png", "stage": "learning-candidate", "theme": "light", @@ -9299,17 +9299,17 @@ "width": 1440, "height": 900 }, - "sha256": "970666f8e93eaaae3b0640decc94d970b4dbb75a89531ed16044cf4327966050", + "sha256": "ff10129340f2d3f218b890dd55dba10bbfa32eb490cc57263b9489ceba5fd5a8", "action": null, "captured_action": null }, "learning-records-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-records-desktop-dark.png", "stage": "learning-records", "theme": "dark", @@ -9319,7 +9319,7 @@ "width": 1440, "height": 900 }, - "sha256": "90fd7553366892a6053e40913450f3f458fee0ced601b1c9d0353b91ccec1b73", + "sha256": "df629d7cd4abdd004c3991428f6a8ed50ea5b2f0b1b7cc1945b8c0668937c067", "action": { "label": "Refresh records", "top": 409.796875, @@ -9345,11 +9345,11 @@ }, "learning-projection-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-projection-desktop-dark.png", "stage": "learning-projection", "theme": "dark", @@ -9359,17 +9359,17 @@ "width": 1440, "height": 900 }, - "sha256": "f75b92346db7c0b01b09f1e361a5a7a48b00d567b6584cf8ee169750100aa0e7", + "sha256": "fe0e47db8a1264a5ada9acc7beeebe13a60a43db8f8d2ba71bb70c39bab9a754", "action": null, "captured_action": null }, "learning-provenance-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-provenance-desktop-dark.png", "stage": "learning-provenance", "theme": "dark", @@ -9379,17 +9379,17 @@ "width": 1440, "height": 900 }, - "sha256": "6e842a9c126c6221de2e85afce9afd2211f6f45b30acf33e8855106aa1ba2015", + "sha256": "3a224c780f310b83275b7ef480df6e0416b7285adaa0893a020e79113965101e", "action": null, "captured_action": null }, "learning-candidate-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-candidate-desktop-dark.png", "stage": "learning-candidate", "theme": "dark", @@ -9399,17 +9399,17 @@ "width": 1440, "height": 900 }, - "sha256": "36736e3ef713479d13d6d98c2212263c9ecfce64c5d106ee62b690d522b53c64", + "sha256": "1ea3adf5e236065c6f13616b9a70f8943cdcf11d8293c3d0e5d22f8526cefaef", "action": null, "captured_action": null }, "learning-records-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-records-mobile-light.png", "stage": "learning-records", "theme": "light", @@ -9419,7 +9419,7 @@ "width": 390, "height": 844 }, - "sha256": "05ed2c896ce6b8361b9192fa56fa76edf8797e784c17bde28da91cac8754684a", + "sha256": "507df5301cd9e68098e41f8398a3e84e1ce7881375f8388acd8e119dec6fccdb", "action": { "label": "Refresh records", "top": 256.828125, @@ -9445,11 +9445,11 @@ }, "learning-projection-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-projection-mobile-light.png", "stage": "learning-projection", "theme": "light", @@ -9459,17 +9459,17 @@ "width": 390, "height": 844 }, - "sha256": "d861ee36e08fd7824e143703b15f52a210085c9244801a15fb9a31572f056604", + "sha256": "adc2e1a1ce994d95cc22080d183698c2dd9faf0255496c9cdd9211ac0b02c7db", "action": null, "captured_action": null }, "learning-provenance-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-provenance-mobile-light.png", "stage": "learning-provenance", "theme": "light", @@ -9479,17 +9479,17 @@ "width": 390, "height": 844 }, - "sha256": "03cb7c7f42c867dda5a45656c83fe5caec1175c128151189de565389e6506d4a", + "sha256": "b7d558ba2397a32fa5bd309a171d3adb9c339039de903b74bbe7304c196cec5e", "action": null, "captured_action": null }, "learning-candidate-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-candidate-mobile-light.png", "stage": "learning-candidate", "theme": "light", @@ -9499,17 +9499,17 @@ "width": 390, "height": 844 }, - "sha256": "a8e8e5dae6a66727b4d1857540323d8b1443c54afe5b74a4c285a10425e8d3c9", + "sha256": "b4105e857ee07fcd5cb77e9cf2c0f628921668450b2bb853ec19c3a74b604275", "action": null, "captured_action": null }, "learning-records-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-records-mobile-dark.png", "stage": "learning-records", "theme": "dark", @@ -9519,7 +9519,7 @@ "width": 390, "height": 844 }, - "sha256": "19e39ff216e504ce2925207d1f859f66fd59c11923481af781ea17873592ebe0", + "sha256": "8b34109779c8702208693dbfdb9c7f5fe6680ee5007a4248553cb75526ccd0c8", "action": { "label": "Refresh records", "top": 256.828125, @@ -9545,11 +9545,11 @@ }, "learning-projection-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-projection-mobile-dark.png", "stage": "learning-projection", "theme": "dark", @@ -9559,17 +9559,17 @@ "width": 390, "height": 844 }, - "sha256": "8092a1dcd7d9eb47557ba7a13fdc4bb061c3440cf5e4e6b590ecf3f8e4ac6200", + "sha256": "74feebfb9de29e6f7928875bdcc2792e30a4ebc9baa2466c6dee1dc22ec78fd8", "action": null, "captured_action": null }, "learning-provenance-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-provenance-mobile-dark.png", "stage": "learning-provenance", "theme": "dark", @@ -9579,17 +9579,17 @@ "width": 390, "height": 844 }, - "sha256": "cb97209caa4de77c0331418009215f023f73dd320de9dc9a525a18c457c37451", + "sha256": "8cb1dd8c7298e5a249394ba181fb30a159884b6b2c5e96f6d7a220f2d5d1b526", "action": null, "captured_action": null }, "learning-candidate-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-candidate-mobile-dark.png", "stage": "learning-candidate", "theme": "dark", @@ -9599,17 +9599,17 @@ "width": 390, "height": 844 }, - "sha256": "2e7a04409dab454db1552eac5d7dfc41e0e6b922e16ef58a2482ed796db802b2", + "sha256": "e9379b37078e4daf6ce0d9d1ab39651ababd180ed098902442a9de923c309899", "action": null, "captured_action": null }, "learning-invalidation-reason-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-reason-desktop-light.png", "stage": "learning-invalidation-reason", "theme": "light", @@ -9619,7 +9619,7 @@ "width": 1440, "height": 900 }, - "sha256": "82f163781d1f02792d8da1d6de93d44600a2be8772ffd34eec808715da4ad67d", + "sha256": "b4e94a4bef67eaeb6095d4a299e05c2ed6708e9d322a2cf5c12ca607a9654470", "action": { "label": "Review invalidation", "top": 738.078125, @@ -9645,11 +9645,11 @@ }, "learning-invalidation-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-review-desktop-light.png", "stage": "learning-invalidation-review", "theme": "light", @@ -9659,7 +9659,7 @@ "width": 1440, "height": 900 }, - "sha256": "f5f9e9eb171d78e4202e2a975d1201fb3e4473579f0cac133bbb5f20cb4bc578", + "sha256": "158bef3c1dde7ff70a32374d586b9926a46ac1e84d9b4f8bc02247de42f40cf7", "action": { "label": "Confirm invalidation", "top": 738.078125, @@ -9685,11 +9685,11 @@ }, "learning-invalidation-unresolved-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-unresolved-desktop-light.png", "stage": "learning-invalidation-unresolved", "theme": "light", @@ -9699,7 +9699,7 @@ "width": 1440, "height": 900 }, - "sha256": "df0fca0ba169f58fe69e71daf5b246cf72aa8899220c62a264fba8bd6bc1ec19", + "sha256": "346f85f26ab40303d3d40663e2f9b557afa9cfa586f6c9642107a81d74214acb", "action": { "label": "Check original request", "top": 299.890625, @@ -9725,11 +9725,11 @@ }, "learning-invalidation-confirmed-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-confirmed-desktop-light.png", "stage": "learning-invalidation-confirmed", "theme": "light", @@ -9739,17 +9739,17 @@ "width": 1440, "height": 900 }, - "sha256": "4ad4a64464805650304a2b972805732cc990ecf38ce99059f8dcf83635370b73", + "sha256": "2b05a7d3312369eb388e0dbdbc5f3f206274c74bf7676a4a92af35674edf899b", "action": null, "captured_action": null }, "learning-invalidation-reason-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-reason-desktop-dark.png", "stage": "learning-invalidation-reason", "theme": "dark", @@ -9759,7 +9759,7 @@ "width": 1440, "height": 900 }, - "sha256": "231932a745daf9097eb2133f7203a4151550979ee6fddd8c1dc50780eec94d55", + "sha256": "354bb3c05f93c7673e852418623cc95d6dff047efdd5991b025cc6df96e19ae5", "action": { "label": "Review invalidation", "top": 738.078125, @@ -9785,11 +9785,11 @@ }, "learning-invalidation-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-review-desktop-dark.png", "stage": "learning-invalidation-review", "theme": "dark", @@ -9799,7 +9799,7 @@ "width": 1440, "height": 900 }, - "sha256": "615398efc28d0408636b9455915981b510a5348b287d3cc1f7126cf62351d578", + "sha256": "922ea47efac45892ecd34d7982865eb071189826ff8f4c123effa5a5b62a8fd8", "action": { "label": "Confirm invalidation", "top": 738.078125, @@ -9825,11 +9825,11 @@ }, "learning-invalidation-unresolved-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-unresolved-desktop-dark.png", "stage": "learning-invalidation-unresolved", "theme": "dark", @@ -9839,7 +9839,7 @@ "width": 1440, "height": 900 }, - "sha256": "41a8f3d552c2b25dfe212895ba6e2815b8a74cb008ed6f6d825e7454a072bf3b", + "sha256": "36a89717dde953086d86aae753122d74f92247306c77cb19c0bd5b3eff0d4e37", "action": { "label": "Check original request", "top": 299.890625, @@ -9865,11 +9865,11 @@ }, "learning-invalidation-confirmed-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-confirmed-desktop-dark.png", "stage": "learning-invalidation-confirmed", "theme": "dark", @@ -9879,17 +9879,17 @@ "width": 1440, "height": 900 }, - "sha256": "d238cf08cbcd8521a4ab7c4a79be220e93ad52817823e479cb837cc12dd66fc6", + "sha256": "19f97ada3b62655daee59fc74183f4369193b8b792796e94bdd1549f72b9f589", "action": null, "captured_action": null }, "learning-invalidation-reason-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-reason-mobile-light.png", "stage": "learning-invalidation-reason", "theme": "light", @@ -9899,7 +9899,7 @@ "width": 390, "height": 844 }, - "sha256": "c1cb0c5fcc8075b78ba69eb5a11ff6f22217983e89c2a471b1d8c4cac60cd840", + "sha256": "2492ca05bad135d8ee1822d822c900174bcfe865ce5a0d5938e9ee9a6ae96379", "action": { "label": "Review invalidation", "top": 752.15625, @@ -9925,11 +9925,11 @@ }, "learning-invalidation-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-review-mobile-light.png", "stage": "learning-invalidation-review", "theme": "light", @@ -9939,7 +9939,7 @@ "width": 390, "height": 844 }, - "sha256": "b64ab70835f436e8ea613e45d829fe2d1aa61285c7963d1b93e66386c8bdc946", + "sha256": "9a6ef604a69334441ce93b772b772db4c5b00b1922a468cae9fb27f1fadc2e0f", "action": { "label": "Confirm invalidation", "top": 752.15625, @@ -9965,11 +9965,11 @@ }, "learning-invalidation-unresolved-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-unresolved-mobile-light.png", "stage": "learning-invalidation-unresolved", "theme": "light", @@ -9979,7 +9979,7 @@ "width": 390, "height": 844 }, - "sha256": "1ca0109f1a3300ee6adf9e6d195ed043a401dbec735003e76d3890b8be882236", + "sha256": "38f855d8145baf67ae10f3c079c009ede2f07e204ffd24bb3b8a644bf5298cdc", "action": { "label": "Check original request", "top": 451.515625, @@ -10005,11 +10005,11 @@ }, "learning-invalidation-confirmed-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-confirmed-mobile-light.png", "stage": "learning-invalidation-confirmed", "theme": "light", @@ -10019,17 +10019,17 @@ "width": 390, "height": 844 }, - "sha256": "2c91deec9a2adbf309a52ad77d93c36a0797c128b2718597fae2e23f1eaa9f0f", + "sha256": "587289e419f04c8bbd37626bfa362c6fac339b5ecf5629eb68b406001e623e58", "action": null, "captured_action": null }, "learning-invalidation-reason-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-reason-mobile-dark.png", "stage": "learning-invalidation-reason", "theme": "dark", @@ -10039,7 +10039,7 @@ "width": 390, "height": 844 }, - "sha256": "b2798e5768ccd7e5d01ed7edf4f0c0b7dae754ddc641c3b86b3b98d9dd7ef7a1", + "sha256": "634fab4ce11538b591da968ddff64295e4b71aae38c0f8611ceb663a98f25a31", "action": { "label": "Review invalidation", "top": 752.15625, @@ -10065,11 +10065,11 @@ }, "learning-invalidation-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-review-mobile-dark.png", "stage": "learning-invalidation-review", "theme": "dark", @@ -10079,7 +10079,7 @@ "width": 390, "height": 844 }, - "sha256": "591d31edd43ebea6c9e4b71c2806d2c4b7c7fd7784aee0a618d66f73ad3dc72c", + "sha256": "92390bde896ef7cb5d6deabfb946ca385cdb9ef900db26812702a15c671045cd", "action": { "label": "Confirm invalidation", "top": 752.15625, @@ -10105,11 +10105,11 @@ }, "learning-invalidation-unresolved-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-unresolved-mobile-dark.png", "stage": "learning-invalidation-unresolved", "theme": "dark", @@ -10119,7 +10119,7 @@ "width": 390, "height": 844 }, - "sha256": "c84b89e2c798ba43a1d6dab86811209ae1a600676110b3248bf0e71388082f35", + "sha256": "42a0cd765fcec10a57cf4d54da92c97255d41fb7f8cdb441202ef06580c57bf6", "action": { "label": "Check original request", "top": 451.515625, @@ -10145,11 +10145,11 @@ }, "learning-invalidation-confirmed-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-invalidation-confirmed-mobile-dark.png", "stage": "learning-invalidation-confirmed", "theme": "dark", @@ -10159,17 +10159,17 @@ "width": 390, "height": 844 }, - "sha256": "6ddbb5284d685fe7b3d5604f7e9ff0cb81e49147d7f374a9e569624b9539fe7a", + "sha256": "f0463e20cbc9187bebcb36c06eefafff6f20b351e19efb75a1069850e67375ca", "action": null, "captured_action": null }, "learning-observation-source-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-source-desktop-light.png", "stage": "learning-observation-source", "theme": "light", @@ -10179,7 +10179,7 @@ "width": 1440, "height": 900 }, - "sha256": "2d4b005cf5dd5fb35cc1c2c2aa201633acf85ee392ed98d6ef5ea94a35061514", + "sha256": "c08602352d05ec33e4558fc7a43b8bf82c86a93ca781aa2786fd353cd73ed1c8", "action": { "label": "Review source", "top": 711.609375, @@ -10205,11 +10205,11 @@ }, "learning-observation-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-review-desktop-light.png", "stage": "learning-observation-review", "theme": "light", @@ -10219,7 +10219,7 @@ "width": 1440, "height": 900 }, - "sha256": "17df3c8aa8a58966e8c0892193f08999146076bf1b81fca54ccb6710e21616f6", + "sha256": "252fe3f63e03046d971bfa60ed744d94eda5f0deec246820af0ae4a7933f3c7d", "action": { "label": "Verify source", "top": 661.40625, @@ -10245,11 +10245,11 @@ }, "learning-observation-unresolved-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-unresolved-desktop-light.png", "stage": "learning-observation-unresolved", "theme": "light", @@ -10259,7 +10259,7 @@ "width": 1440, "height": 900 }, - "sha256": "b08aea71a11a61ad98c86ba363877f7761d5f0576393f0236c3ecff2270736b0", + "sha256": "35866fc318fbf92e45b6839a7a262e793fb8419a213c303f9adf451e85ba18e2", "action": { "label": "Check original verification", "top": 609.390625, @@ -10285,11 +10285,11 @@ }, "learning-observation-confirmed-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-confirmed-desktop-light.png", "stage": "learning-observation-confirmed", "theme": "light", @@ -10299,17 +10299,17 @@ "width": 1440, "height": 900 }, - "sha256": "4bdd39b0d220f2abf907e9269bd8a2116ac67ded96f9f817c21306aa9c9ecc6f", + "sha256": "286b3692953eb906dbd6c68d4f2d8eefcd5f621b1c04cedab2a8748f6c802f46", "action": null, "captured_action": null }, "learning-observation-source-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-source-desktop-dark.png", "stage": "learning-observation-source", "theme": "dark", @@ -10319,7 +10319,7 @@ "width": 1440, "height": 900 }, - "sha256": "1556576e646266dac653f6330c008f84a7018fa5b841eafa00133284734a79dd", + "sha256": "1c7554455618522fbe1a0288be2f75905c1edbffdca453a4a2198ef9834f2c44", "action": { "label": "Review source", "top": 711.609375, @@ -10345,11 +10345,11 @@ }, "learning-observation-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-review-desktop-dark.png", "stage": "learning-observation-review", "theme": "dark", @@ -10359,7 +10359,7 @@ "width": 1440, "height": 900 }, - "sha256": "d65e7c0608d7696ecf1c038cd672cbbec67dbde378ef1a7e7e9a3a011eefc4b7", + "sha256": "9e48a0fc0c956430d54da41464c788d0b730db23eedb2d2594bf74e35be9b358", "action": { "label": "Verify source", "top": 661.40625, @@ -10385,11 +10385,11 @@ }, "learning-observation-unresolved-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-unresolved-desktop-dark.png", "stage": "learning-observation-unresolved", "theme": "dark", @@ -10399,7 +10399,7 @@ "width": 1440, "height": 900 }, - "sha256": "a84f9a7856bf5ee318f03f4b92a2e714ffdab7430f737802fb1ff4d9d1a40a86", + "sha256": "9302e216cda06a7627343e37f01ab32427d22c7d05a607b4ca886e50bd1c2130", "action": { "label": "Check original verification", "top": 609.390625, @@ -10425,11 +10425,11 @@ }, "learning-observation-confirmed-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-confirmed-desktop-dark.png", "stage": "learning-observation-confirmed", "theme": "dark", @@ -10439,17 +10439,17 @@ "width": 1440, "height": 900 }, - "sha256": "1c6a21940700cf9548d477eadb671319b011ff5a534fc802a87a7ee8ae2bea1f", + "sha256": "9e5b29cb2923238f3d82f9fbcc5bcf28564ce697eedb5992b55a1abc12bf126a", "action": null, "captured_action": null }, "learning-observation-source-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-source-mobile-light.png", "stage": "learning-observation-source", "theme": "light", @@ -10459,7 +10459,7 @@ "width": 390, "height": 844 }, - "sha256": "7ec440091dd4f4b4660a7b660d2be84066157573189b72d212b79c20c1e61dbe", + "sha256": "f35d761a3e9a7e270c6b02e013888cab26b3cb61490c433f4d42bdf0d010f7aa", "action": { "label": "Review source", "top": 753.15625, @@ -10485,11 +10485,11 @@ }, "learning-observation-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-review-mobile-light.png", "stage": "learning-observation-review", "theme": "light", @@ -10499,7 +10499,7 @@ "width": 390, "height": 844 }, - "sha256": "d1f88ef609cbbe1616fa4376fd2efad67dbca68c1fa1a2673a622643756d3d79", + "sha256": "9901ff4f27be98b98d4e78aa91c1add1ed8d1de66802f0715e20b6d2f2b5664c", "action": { "label": "Verify source", "top": 656.96875, @@ -10525,11 +10525,11 @@ }, "learning-observation-unresolved-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-unresolved-mobile-light.png", "stage": "learning-observation-unresolved", "theme": "light", @@ -10539,7 +10539,7 @@ "width": 390, "height": 844 }, - "sha256": "7190a1d2e50995df1dd00d5d91d7246b717604b37c146802685c5ad8ea6f5c5b", + "sha256": "413741bf46dafc098b99b8b1f6f71011efa8cd0824aefabccf60ed4a1a2dbf9f", "action": { "label": "Check original verification", "top": 546.296875, @@ -10565,11 +10565,11 @@ }, "learning-observation-confirmed-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-confirmed-mobile-light.png", "stage": "learning-observation-confirmed", "theme": "light", @@ -10579,17 +10579,17 @@ "width": 390, "height": 844 }, - "sha256": "330c4a2ebd5857aeaeb6af8bbf3d209597adc6b67190eaef00a2d6260d4dfb24", + "sha256": "e64435ddad244c0ef1759fdf271c3d0fd04e2e49dffbfb0ea6338ae158310a75", "action": null, "captured_action": null }, "learning-observation-source-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-source-mobile-dark.png", "stage": "learning-observation-source", "theme": "dark", @@ -10599,7 +10599,7 @@ "width": 390, "height": 844 }, - "sha256": "01aaac01e44bbd0e5d10d5e808f0814c8615c11034d45dd1a7b2c90cbf268872", + "sha256": "8e03fb5d1364f1610f21101d5ec0178bbdf12d6ff8803c94e27e7345337876fa", "action": { "label": "Review source", "top": 753.15625, @@ -10625,11 +10625,11 @@ }, "learning-observation-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-review-mobile-dark.png", "stage": "learning-observation-review", "theme": "dark", @@ -10639,7 +10639,7 @@ "width": 390, "height": 844 }, - "sha256": "ab5188f98aca50593172a43d2c690ff60b8b06c6153c90e173c0739226f22a0d", + "sha256": "20c416a29689e23a01ba855de5763d7d862d671c2c3d97203970b4ca563949ca", "action": { "label": "Verify source", "top": 656.96875, @@ -10665,11 +10665,11 @@ }, "learning-observation-unresolved-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-unresolved-mobile-dark.png", "stage": "learning-observation-unresolved", "theme": "dark", @@ -10679,7 +10679,7 @@ "width": 390, "height": 844 }, - "sha256": "41ac9d290ccaa3f01088900d3bf600fde319e86e7c70e485f2ceafc6cde810a8", + "sha256": "3c0021e46547f2cf8617d8b566a57dbee855387aca78649c275f90070581f025", "action": { "label": "Check original verification", "top": 546.296875, @@ -10705,11 +10705,11 @@ }, "learning-observation-confirmed-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/learning-observation-confirmed-mobile-dark.png", "stage": "learning-observation-confirmed", "theme": "dark", @@ -10719,17 +10719,17 @@ "width": 390, "height": 844 }, - "sha256": "cff747b5fae939ea9440d3a09e2ad078435df366f806d2806b4c59649a460e30", + "sha256": "9c2759bec77626deaadd3f56617a0a8d70b1d026b23303f5ee5d73d2b62b7e3a", "action": null, "captured_action": null }, "runner-continuation-selection-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/runner-continuation-selection-desktop-light.png", "stage": "runner-continuation-selection", "theme": "light", @@ -10739,7 +10739,7 @@ "width": 1440, "height": 900 }, - "sha256": "f60d51f296ec48067ef3113a4141d5c22883d341df7ffe146055d9c81f084aba", + "sha256": "81382759e6432d7b7004063706dc45943b3e2bdfdfe6ca035a1b780c067ce290", "action": { "label": "Review original command", "top": 621.03125, @@ -10765,11 +10765,11 @@ }, "runner-continuation-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/runner-continuation-review-desktop-light.png", "stage": "runner-continuation-review", "theme": "light", @@ -10779,7 +10779,7 @@ "width": 1440, "height": 900 }, - "sha256": "1963168bdfb21e53432724bb27f2e6fd9bce78c8f06f2ff491f598a895dd0f67", + "sha256": "5ee5373a7ed55ff5c12e79bfe20b3bd870477bd8f843f9c6234ead9791c17dca", "action": { "label": "Send continuation request", "top": 656.109375, @@ -10805,11 +10805,11 @@ }, "campaign-report-summary-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-summary-desktop-light.png", "stage": "campaign-report-summary", "theme": "light", @@ -10819,7 +10819,7 @@ "width": 1440, "height": 900 }, - "sha256": "09d673d8c4daf4423692856681546ad52791686af7f7cacdb520c6371af8b7f9", + "sha256": "040644d943e4370c13240049f896f07e29a5c8b8e626141aae3880be220c8f4e", "action": { "label": "apiVerifiedAttempt 1 · recorded Succeeded", "top": 326.984375, @@ -10845,11 +10845,11 @@ }, "campaign-report-references-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-references-desktop-light.png", "stage": "campaign-report-references", "theme": "light", @@ -10859,7 +10859,7 @@ "width": 1440, "height": 900 }, - "sha256": "abb51fb3fec885c1bec5ff75f94170430b960e1973a99f30871d16f524e31994", + "sha256": "a12975ab7ed246500bc6976f1a051858d4876822e5cf207ead778aea79e57e08", "action": { "label": "References", "top": 167.046875, @@ -10885,11 +10885,11 @@ }, "runner-continuation-selection-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/runner-continuation-selection-desktop-dark.png", "stage": "runner-continuation-selection", "theme": "dark", @@ -10899,7 +10899,7 @@ "width": 1440, "height": 900 }, - "sha256": "6129e5d6d36cc36586b923cc93e5454cf7855f508f19223fb1115c850311a020", + "sha256": "a7cc98c82c9ddf7dc86d5c8870ecb895355373371d1275b3c05ce9c10a6a5c74", "action": { "label": "Review original command", "top": 621.03125, @@ -10925,11 +10925,11 @@ }, "runner-continuation-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/runner-continuation-review-desktop-dark.png", "stage": "runner-continuation-review", "theme": "dark", @@ -10939,7 +10939,7 @@ "width": 1440, "height": 900 }, - "sha256": "c2e692852960ca8effea6209634ebae2044a76cf1f695a88cfc1fc85e047ec85", + "sha256": "e445500b83814ee449c618cce93a154d526b273f1f0adbb532e41df5b2c431fc", "action": { "label": "Send continuation request", "top": 656.109375, @@ -10965,11 +10965,11 @@ }, "campaign-report-summary-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-summary-desktop-dark.png", "stage": "campaign-report-summary", "theme": "dark", @@ -10979,7 +10979,7 @@ "width": 1440, "height": 900 }, - "sha256": "6f42e2b7973472fe595b73dd2ac8dc229b3176de6eb6c311d03b5c27b074346d", + "sha256": "55524991e2801401af225c9e96137de31a455a42e93e76618bc6497191b05355", "action": { "label": "apiVerifiedAttempt 1 · recorded Succeeded", "top": 326.984375, @@ -11005,11 +11005,11 @@ }, "campaign-report-references-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-references-desktop-dark.png", "stage": "campaign-report-references", "theme": "dark", @@ -11019,7 +11019,7 @@ "width": 1440, "height": 900 }, - "sha256": "e4bcba8d466aa8362d1aeeb67498cf40f3a8262ef8712ad184ad7322202102a1", + "sha256": "3cdc0cbd4a33212baec9f592a5efa6b2e457d8629a1f234d05361420aa6d94d5", "action": { "label": "References", "top": 167.046875, @@ -11045,11 +11045,11 @@ }, "runner-continuation-selection-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/runner-continuation-selection-mobile-light.png", "stage": "runner-continuation-selection", "theme": "light", @@ -11059,7 +11059,7 @@ "width": 390, "height": 844 }, - "sha256": "558493eebc595d79baead480b78587e2dc11120a1919bc2e6b08bd50d497a339", + "sha256": "006dabe1dab343502a3911e05c27f743050a481bc55d6446040c4f6ab81883ed", "action": { "label": "Review original command", "top": 624.453125, @@ -11085,11 +11085,11 @@ }, "runner-continuation-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/runner-continuation-review-mobile-light.png", "stage": "runner-continuation-review", "theme": "light", @@ -11099,7 +11099,7 @@ "width": 390, "height": 844 }, - "sha256": "154cf034c5d666d5e83a46ffbc7b0ce1d930833e78f8aea943c99e95e58540fb", + "sha256": "8ede98ffedabb97522d6dc444eb3963cd9653970f709c4edc3de08287608ddbc", "action": { "label": "Send continuation request", "top": 678.859375, @@ -11125,11 +11125,11 @@ }, "campaign-report-summary-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-summary-mobile-light.png", "stage": "campaign-report-summary", "theme": "light", @@ -11139,7 +11139,7 @@ "width": 390, "height": 844 }, - "sha256": "0737d5d86024391b2e6b1b5e8e53a966a5cea538d2a2fcc1e3c56d1cbdb53394", + "sha256": "b7f4e3ef2071573d3418599e540e607cff942506c9073c77e5a70dc63dd7cf94", "action": { "label": "apiVerifiedAttempt 1 · recorded Succeeded", "top": 501.203125, @@ -11165,11 +11165,11 @@ }, "campaign-report-references-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-references-mobile-light.png", "stage": "campaign-report-references", "theme": "light", @@ -11179,7 +11179,7 @@ "width": 390, "height": 844 }, - "sha256": "983ff2b6590920c4d26e2b15a2b2ca784a4883dc1805e8b234ff1faca88d9787", + "sha256": "5046934c2718a9c004b450887c7123cca78d491846f283b1cfe738a54d01e2d7", "action": { "label": "References", "top": 230.109375, @@ -11205,11 +11205,11 @@ }, "runner-continuation-selection-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/runner-continuation-selection-mobile-dark.png", "stage": "runner-continuation-selection", "theme": "dark", @@ -11219,7 +11219,7 @@ "width": 390, "height": 844 }, - "sha256": "fad35c293384c2eac5cf9ccebe8f51ee269cbc9b219718f8a265dfa9a1942812", + "sha256": "bcda9cd9852a396952374bcfa02280f8866b3beafbec46256eb9d3552deb41c1", "action": { "label": "Review original command", "top": 624.453125, @@ -11245,11 +11245,11 @@ }, "runner-continuation-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/runner-continuation-review-mobile-dark.png", "stage": "runner-continuation-review", "theme": "dark", @@ -11259,7 +11259,7 @@ "width": 390, "height": 844 }, - "sha256": "3529f26a3ec6de41041c611621ed1439b86be845cc64f8e4f52d7d9bdb7bb07b", + "sha256": "9059a35bcc5917f5e297a4086a2ca941579e98282d44d5e8b81a4f1cbe714a46", "action": { "label": "Send continuation request", "top": 678.859375, @@ -11285,11 +11285,11 @@ }, "campaign-report-summary-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-summary-mobile-dark.png", "stage": "campaign-report-summary", "theme": "dark", @@ -11299,7 +11299,7 @@ "width": 390, "height": 844 }, - "sha256": "64355e3c44df37558a7656cce9280836953800d64b7c0515c487db9371f602ab", + "sha256": "dc8def6c048cfe39e5c41a267de4494d85174e6764a62c4e8e2ae4ea87aa405f", "action": { "label": "apiVerifiedAttempt 1 · recorded Succeeded", "top": 501.203125, @@ -11325,11 +11325,11 @@ }, "campaign-report-references-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-references-mobile-dark.png", "stage": "campaign-report-references", "theme": "dark", @@ -11339,7 +11339,7 @@ "width": 390, "height": 844 }, - "sha256": "227ffbd973a0fc51a85fa0125c55b5a0a65da858621dfe21fd67e1522a1586c9", + "sha256": "e41780283b61f34b9584c09c8b7fcb565f6bc87deefb77d7d65564d3c1c04a4e", "action": { "label": "References", "top": 230.109375, @@ -11365,11 +11365,11 @@ }, "source-analysis-scope-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-scope-desktop-light.png", "stage": "source-analysis-scope", "theme": "light", @@ -11379,7 +11379,7 @@ "width": 1440, "height": 900 }, - "sha256": "0e8d3a244b50f491cbb26c2d727faa5e4c82c7f51db57bef3248925e86cfedcd", + "sha256": "4d3bf6bda6d6bf8387560d0daa77be114b19cd83ed1bf0dcc8a00d7010b59e08", "action": { "label": "Inspect configured source", "top": 763.078125, @@ -11405,11 +11405,11 @@ }, "source-analysis-receipt-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-receipt-desktop-light.png", "stage": "source-analysis-receipt", "theme": "light", @@ -11419,7 +11419,7 @@ "width": 1440, "height": 900 }, - "sha256": "7d702762b321e27e1e6db296c06ec41c3d7a388d585fd360977c6662e510a837", + "sha256": "d1c40ac6684c8246a7a830abdeee1d9eb45ae51a8bd421c0a123570cb1af3016", "action": { "label": "Continue", "top": 763.078125, @@ -11445,11 +11445,11 @@ }, "source-analysis-evidence-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-evidence-desktop-light.png", "stage": "source-analysis-evidence", "theme": "light", @@ -11459,7 +11459,7 @@ "width": 1440, "height": 900 }, - "sha256": "6c5dcfc3c9334faabf3e8d6a062edb71739eea9bd48ce0d0d3a3dd340ce670e1", + "sha256": "9b48489153cc1cd0545051c60b6f37dbc470a234a9822b04c14f693334c46684", "action": { "label": "Continue", "top": 763.078125, @@ -11485,11 +11485,11 @@ }, "source-analysis-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-review-desktop-light.png", "stage": "source-analysis-review", "theme": "light", @@ -11499,7 +11499,7 @@ "width": 1440, "height": 900 }, - "sha256": "897ec1555701af050955f4245f9c7216ec32dc7a1459c395f16a0589bba53c7a", + "sha256": "860a8a5fb3be39c39de56d5e7c8fcbfd8fe3e9f6a9d0888a9059faa9a88e9a68", "action": { "label": "Acknowledge this report digest", "top": 763.078125, @@ -11525,11 +11525,11 @@ }, "source-analysis-scope-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-scope-desktop-dark.png", "stage": "source-analysis-scope", "theme": "dark", @@ -11539,7 +11539,7 @@ "width": 1440, "height": 900 }, - "sha256": "2ad5d1478b4ff88c673e0d847f6a4293746a0a2d81aa2323426d1a6b47a6cef0", + "sha256": "caf1ec421320bd9a97390b050a5b779657896ffae08a1ae33e8db5f37ee09524", "action": { "label": "Inspect configured source", "top": 763.078125, @@ -11565,11 +11565,11 @@ }, "source-analysis-receipt-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-receipt-desktop-dark.png", "stage": "source-analysis-receipt", "theme": "dark", @@ -11579,7 +11579,7 @@ "width": 1440, "height": 900 }, - "sha256": "4f0191f72d800735458827a16d9a40803406050c7cf341eb5a26391f95215516", + "sha256": "93e13e6b9fbef6b60c1352e389432044f784d40449edee831b35488f4d14aa60", "action": { "label": "Continue", "top": 763.078125, @@ -11605,11 +11605,11 @@ }, "source-analysis-evidence-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-evidence-desktop-dark.png", "stage": "source-analysis-evidence", "theme": "dark", @@ -11619,7 +11619,7 @@ "width": 1440, "height": 900 }, - "sha256": "8c48b03b818244c13cbfec346792a1ab28e4493ba5ff5d798a2aaa8038850c74", + "sha256": "fc0fa18b41a8c21f0ba846e66e119abd5b381557aa8af6e24d8c0b2290c1b4da", "action": { "label": "Continue", "top": 763.078125, @@ -11645,11 +11645,11 @@ }, "source-analysis-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-review-desktop-dark.png", "stage": "source-analysis-review", "theme": "dark", @@ -11659,7 +11659,7 @@ "width": 1440, "height": 900 }, - "sha256": "ad08a0319af4c99a292af8d2d729c53fb8c18caf341926ac9af6ba4b0d88d8b7", + "sha256": "0ad6c943e24924796c2c85a842306e96f8b3511f56e86bdbe3b6e3bfaa8d326d", "action": { "label": "Acknowledge this report digest", "top": 763.078125, @@ -11685,11 +11685,11 @@ }, "source-analysis-scope-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-scope-mobile-light.png", "stage": "source-analysis-scope", "theme": "light", @@ -11699,7 +11699,7 @@ "width": 390, "height": 844 }, - "sha256": "0abbf6c7a9137de593403cd689f3ec5cb2f88488b21f71b29cc2d052da00dc27", + "sha256": "366975ce77068ea41465c27e5b57fb1d3dc473062b613095ac4c10e8d942a57f", "action": { "label": "Inspect configured source", "top": 743.078125, @@ -11725,11 +11725,11 @@ }, "source-analysis-receipt-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-receipt-mobile-light.png", "stage": "source-analysis-receipt", "theme": "light", @@ -11739,7 +11739,7 @@ "width": 390, "height": 844 }, - "sha256": "8eb723f4c96953e7e971a2ae0904747427ef7cbad720fa194d62046f1d9c8871", + "sha256": "554f048b2ff44efa2db6cc700ea1e2152835f0e78f6345b46e6aed615a6c5fbd", "action": { "label": "Continue", "top": 743.078125, @@ -11765,11 +11765,11 @@ }, "source-analysis-evidence-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-evidence-mobile-light.png", "stage": "source-analysis-evidence", "theme": "light", @@ -11779,7 +11779,7 @@ "width": 390, "height": 844 }, - "sha256": "6f883cc07181c76e26a21b46c5b2fd8462664adcde47c250c87097e0c0ebdc08", + "sha256": "9a47f6c56a9144a11b7f0b0158319641601d1f2a1c6f3b42baa320ed2dbee2c4", "action": { "label": "Continue", "top": 743.078125, @@ -11805,11 +11805,11 @@ }, "source-analysis-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-review-mobile-light.png", "stage": "source-analysis-review", "theme": "light", @@ -11819,7 +11819,7 @@ "width": 390, "height": 844 }, - "sha256": "3139eb049c76f0c69bedbc695e1f184dac633ae79db311140b0663e9e5e09b07", + "sha256": "3b4971aa733591bc1bb3569b99bfc108e742cfc607734394d28c32a5645a20cc", "action": { "label": "Acknowledge this report digest", "top": 743.078125, @@ -11845,11 +11845,11 @@ }, "source-analysis-scope-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-scope-mobile-dark.png", "stage": "source-analysis-scope", "theme": "dark", @@ -11859,7 +11859,7 @@ "width": 390, "height": 844 }, - "sha256": "a3b03dd0222c78781c9189b4c999d08557fa921e5a9080c8de02c1355c683620", + "sha256": "035d18a2a195bb8cea081e9fd38eced6571ccc1e963e4dfd925750e05d4029d6", "action": { "label": "Inspect configured source", "top": 743.078125, @@ -11885,11 +11885,11 @@ }, "source-analysis-receipt-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-receipt-mobile-dark.png", "stage": "source-analysis-receipt", "theme": "dark", @@ -11899,7 +11899,7 @@ "width": 390, "height": 844 }, - "sha256": "0b54db162af7cdb8e4b8a9c0a12fbd4eb6d38d6132bb3ae06043183c7ba4c629", + "sha256": "0e7459aa72e54302832ac850d8afffdfa2844609ced465a02b04d5eae7c7bce0", "action": { "label": "Continue", "top": 743.078125, @@ -11925,11 +11925,11 @@ }, "source-analysis-evidence-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-evidence-mobile-dark.png", "stage": "source-analysis-evidence", "theme": "dark", @@ -11939,7 +11939,7 @@ "width": 390, "height": 844 }, - "sha256": "6ce65a6d3eb7fbcf52a3680d87ad3b703236f830c9cda562eebf44db4d6d8f00", + "sha256": "2523900c756f74f69e79bf99506bb6b243ec452ac9d2fdbfc28b400b627d87ba", "action": { "label": "Continue", "top": 743.078125, @@ -11965,11 +11965,11 @@ }, "source-analysis-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/source-analysis-review-mobile-dark.png", "stage": "source-analysis-review", "theme": "dark", @@ -11979,7 +11979,7 @@ "width": 390, "height": 844 }, - "sha256": "8ead74dac38ae01fc51333616af0164f8127120787c299690776a492e84258aa", + "sha256": "cee2f9cf9667af0739590ffd4b49ba7a481f858d8fce10377616573996f36667", "action": { "label": "Acknowledge this report digest", "top": 743.078125, @@ -12005,11 +12005,11 @@ }, "campaign-report-save-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-save-review-desktop-light.png", "stage": "campaign-report-save-review", "theme": "light", @@ -12019,7 +12019,7 @@ "width": 1440, "height": 900 }, - "sha256": "a99c98a5cf8a6a101e44c11e7d957f60e403adaced1b95e9ec0810f4a982cb54", + "sha256": "94bd667c7d4d03748f49f4324fe157d40218e0323e5eaa578ea4b618c5450fad", "action": { "label": "Save report", "top": 631.421875, @@ -12045,11 +12045,11 @@ }, "campaign-report-save-unresolved-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-save-unresolved-desktop-light.png", "stage": "campaign-report-save-unresolved", "theme": "light", @@ -12059,7 +12059,7 @@ "width": 1440, "height": 900 }, - "sha256": "a3559bbc89d24347e08bacad5f4b2c10f8c3059e72142a7133159188ba9041d7", + "sha256": "6f79a3d539d5635a8d32c83c02552290b5fe33fef335e5dcb7a9bf1f966fb0bf", "action": { "label": "Check saved request 1", "top": 164.984375, @@ -12085,11 +12085,11 @@ }, "campaign-report-saved-history-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-saved-history-desktop-light.png", "stage": "campaign-report-saved-history", "theme": "light", @@ -12099,7 +12099,7 @@ "width": 1440, "height": 900 }, - "sha256": "e791b6bb51139ec877c5141d781175c990bbddf36495afa9f84d56afc36642bc", + "sha256": "6783207b32e7652331fb4360a135a9210723072742b71b988bd9c89a29039502", "action": { "label": "Open saved report 1", "top": 263.046875, @@ -12125,11 +12125,11 @@ }, "campaign-report-saved-receipt-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-saved-receipt-desktop-light.png", "stage": "campaign-report-saved-receipt", "theme": "light", @@ -12139,7 +12139,7 @@ "width": 1440, "height": 900 }, - "sha256": "a4513d9c971830b366e12588f57305c1f56e94873ad23fd9733cf2888d6c47d3", + "sha256": "4233f1f31730a3d0b622dc97d08eb41b165bc3dfcad7d084303a06632f0de72a", "action": { "label": "apiIn progressAttempt 1 · recorded Queued", "top": 554.375, @@ -12165,11 +12165,11 @@ }, "campaign-report-save-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-save-review-desktop-dark.png", "stage": "campaign-report-save-review", "theme": "dark", @@ -12179,7 +12179,7 @@ "width": 1440, "height": 900 }, - "sha256": "4c075c732a7f62bc2f4e38219ee309580e5f1c35490fc545738053913213f4ce", + "sha256": "59e975d0252e8cc7d998cf5f9786a8e8c948a05c124e08ed0e20bcb0802e527c", "action": { "label": "Save report", "top": 631.421875, @@ -12205,11 +12205,11 @@ }, "campaign-report-save-unresolved-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-save-unresolved-desktop-dark.png", "stage": "campaign-report-save-unresolved", "theme": "dark", @@ -12219,7 +12219,7 @@ "width": 1440, "height": 900 }, - "sha256": "b50e300055b8445b741f15cc23098c59456b2026a44b2f24534027dec26cecea", + "sha256": "0ee8c4eb06454106fdaf79565346ffae1b493f3f4ad76d40e469b7d30e1ea600", "action": { "label": "Check saved request 1", "top": 164.984375, @@ -12245,11 +12245,11 @@ }, "campaign-report-saved-history-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-saved-history-desktop-dark.png", "stage": "campaign-report-saved-history", "theme": "dark", @@ -12259,7 +12259,7 @@ "width": 1440, "height": 900 }, - "sha256": "9108c2b569656bec9b0edb9c8ba2e117666ec9e35f1f9fd4e1774d05ae06c929", + "sha256": "dda778a0a4700099d17c1c8e05f72c72d71270f65e2dda708ebb2bb137c1fda6", "action": { "label": "Open saved report 1", "top": 263.046875, @@ -12285,11 +12285,11 @@ }, "campaign-report-saved-receipt-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-saved-receipt-desktop-dark.png", "stage": "campaign-report-saved-receipt", "theme": "dark", @@ -12299,7 +12299,7 @@ "width": 1440, "height": 900 }, - "sha256": "b9a46d905ba9c8b3d37cea7252b9bcc910d4971a635eba65012df6ded4969f00", + "sha256": "a0ee50c1bf32cd0591b982596259298fea53b94faf98d38a6f8a4dce9568c665", "action": { "label": "apiIn progressAttempt 1 · recorded Queued", "top": 554.375, @@ -12325,11 +12325,11 @@ }, "campaign-report-save-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-save-review-mobile-light.png", "stage": "campaign-report-save-review", "theme": "light", @@ -12339,7 +12339,7 @@ "width": 390, "height": 844 }, - "sha256": "14306a431792667f84151c25fc66b3909ae9f2c6d38c8c6269a5ae699682cef3", + "sha256": "e15734a5ef688f4066c2eebbfc94e040111ebe0a7d9a1449039a568211de51e9", "action": { "label": "Save report", "top": 659.84375, @@ -12365,11 +12365,11 @@ }, "campaign-report-save-unresolved-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-save-unresolved-mobile-light.png", "stage": "campaign-report-save-unresolved", "theme": "light", @@ -12379,7 +12379,7 @@ "width": 390, "height": 844 }, - "sha256": "6f7640aa4f6653d66ce0ba1ca6fe210445cba362882291c98a3eadc38c0c48f1", + "sha256": "700f5de2653a8d6d05a07ed9eb4fdfd88bcbd4bd9124cc9c26a2b053eec3bf33", "action": { "label": "Check saved request 1", "top": 228.859375, @@ -12405,11 +12405,11 @@ }, "campaign-report-saved-history-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-saved-history-mobile-light.png", "stage": "campaign-report-saved-history", "theme": "light", @@ -12419,7 +12419,7 @@ "width": 390, "height": 844 }, - "sha256": "d2cdf942b8d4bdf2cb8367bd4c0e4ee0af546d04753d9205a60ff95de302a510", + "sha256": "54c6a50375e186716b24886746e894dd532e7d654c3abaf227598f730b199d61", "action": { "label": "Open saved report 1", "top": 454.453125, @@ -12445,11 +12445,11 @@ }, "campaign-report-saved-receipt-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-saved-receipt-mobile-light.png", "stage": "campaign-report-saved-receipt", "theme": "light", @@ -12459,7 +12459,7 @@ "width": 390, "height": 844 }, - "sha256": "8a6de6f55c1a0cb172a6af69435193b299a99ae17c2a92ed6407cfd9d416a6e0", + "sha256": "659ff37ba636c7ed853c008662aa907bd819a0b1dd4052d8a3e8e1c71ffef07a", "action": { "label": "apiIn progressAttempt 1 · recorded Queued", "top": 424.890625, @@ -12485,11 +12485,11 @@ }, "campaign-report-save-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-save-review-mobile-dark.png", "stage": "campaign-report-save-review", "theme": "dark", @@ -12499,7 +12499,7 @@ "width": 390, "height": 844 }, - "sha256": "696f5f5a8501af59c3f2f26a384831fe0d5111f1000b588b0f80dd968f572bcd", + "sha256": "8dc73c60613282d01e1559c7a52c403a596d254e48b3646470619d89c1f023aa", "action": { "label": "Save report", "top": 659.84375, @@ -12525,11 +12525,11 @@ }, "campaign-report-save-unresolved-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-save-unresolved-mobile-dark.png", "stage": "campaign-report-save-unresolved", "theme": "dark", @@ -12539,7 +12539,7 @@ "width": 390, "height": 844 }, - "sha256": "444758a6ed79e4acee4511473eed7dad80bcef20dd61baf817856ea76cb957e1", + "sha256": "6f802c9b7562413f9c4c8d5029f06b0b46a2f75c05a06ed1b97fc56fd7cddcf9", "action": { "label": "Check saved request 1", "top": 228.859375, @@ -12565,11 +12565,11 @@ }, "campaign-report-saved-history-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-saved-history-mobile-dark.png", "stage": "campaign-report-saved-history", "theme": "dark", @@ -12579,7 +12579,7 @@ "width": 390, "height": 844 }, - "sha256": "8ff5eecaec89adf0c2fbb9709be64e7bf8af7f436b7b59e19b6439edb543f20b", + "sha256": "3d5122751cb40ef12abf7add88aeb9333040b6ad44264fce5eab30ba7b2c0e19", "action": { "label": "Open saved report 1", "top": 454.453125, @@ -12605,11 +12605,11 @@ }, "campaign-report-saved-receipt-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-report-saved-receipt-mobile-dark.png", "stage": "campaign-report-saved-receipt", "theme": "dark", @@ -12619,7 +12619,7 @@ "width": 390, "height": 844 }, - "sha256": "8343cd8fa6743551a855cc5ec551d68bf2790a775d82e35ee97a00455423a586", + "sha256": "e25f5967c2e565ea25fd9d086d9beee5917695a54f97c552000aab4606bc843f", "action": { "label": "apiIn progressAttempt 1 · recorded Queued", "top": 424.890625, @@ -12645,11 +12645,11 @@ }, "agent-question-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-question-desktop-light.png", "stage": "agent-question", "theme": "light", @@ -12659,7 +12659,7 @@ "width": 1440, "height": 900 }, - "sha256": "4f9a50cae49a15e90caeeebe4b36af76212894ec4e8b77ad08966209efb9af7b", + "sha256": "39f54de750ed1380cefb5e7cd32eec8f4fc24d5757512335bba61f00175a5916", "action": { "label": "Review answer", "top": 660.71875, @@ -12685,11 +12685,11 @@ }, "agent-answer-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-review-desktop-light.png", "stage": "agent-answer-review", "theme": "light", @@ -12699,7 +12699,7 @@ "width": 1440, "height": 900 }, - "sha256": "2a17451c58da223a5329148967ebc275cb5937dd5fefa2e815f5c0923f71a48e", + "sha256": "b8d0a22819771be79248f3de65f93dc19a38ae9475dd6acd536ca2fbea09d5a1", "action": { "label": "Send answer", "top": 661.609375, @@ -12725,11 +12725,11 @@ }, "agent-answer-unresolved-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-unresolved-desktop-light.png", "stage": "agent-answer-unresolved", "theme": "light", @@ -12739,7 +12739,7 @@ "width": 1440, "height": 900 }, - "sha256": "ec765ed9b8cef222bcf20be03fe2b74475a2255f929d59c5e9d89e7914af922a", + "sha256": "2da4ab63a785c287bca413fded5de7480dfaf6f0dc6f03aba8c4b9d8d6ee93ed", "action": { "label": "Check original answer", "top": 413.71875, @@ -12765,11 +12765,11 @@ }, "agent-answer-confirmed-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-confirmed-desktop-light.png", "stage": "agent-answer-confirmed", "theme": "light", @@ -12779,17 +12779,17 @@ "width": 1440, "height": 900 }, - "sha256": "bedd496413f04298d8604a5c286a1d6ed1b15cf84cf16dd815e39a3eb6533085", + "sha256": "8bc57769e47f9685a99040a2ed732b002162501749bcd1cb2d61de2fde17084d", "action": null, "captured_action": null }, "agent-question-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-question-desktop-dark.png", "stage": "agent-question", "theme": "dark", @@ -12799,7 +12799,7 @@ "width": 1440, "height": 900 }, - "sha256": "a1df25e4c8878eabad291e21cf46a5561106c9151e00b9586d39ca49295c6d31", + "sha256": "44c002cf865b327c8290485f06e27f36b2253d55e9ace55e37ce89657c75c456", "action": { "label": "Review answer", "top": 660.71875, @@ -12825,11 +12825,11 @@ }, "agent-answer-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-review-desktop-dark.png", "stage": "agent-answer-review", "theme": "dark", @@ -12839,7 +12839,7 @@ "width": 1440, "height": 900 }, - "sha256": "b22e8d5392cf671657568809f28a8579a17e4e376f2fab3f22f1e6b176d516cf", + "sha256": "6726e3903557477754ba1c81796815b7ce839bf11d8dc39c4ba0544c0e735e56", "action": { "label": "Send answer", "top": 661.609375, @@ -12865,11 +12865,11 @@ }, "agent-answer-unresolved-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-unresolved-desktop-dark.png", "stage": "agent-answer-unresolved", "theme": "dark", @@ -12879,7 +12879,7 @@ "width": 1440, "height": 900 }, - "sha256": "d31f3bba0ca67c429ae88f4c0a09935463e9fc2f5fa558531e4e6eb7038af7c8", + "sha256": "dd1bfebd776ac674c8136b9a34cfb95b7bc6bb099248431d7b0a6e268ee49f30", "action": { "label": "Check original answer", "top": 413.71875, @@ -12905,11 +12905,11 @@ }, "agent-answer-confirmed-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-confirmed-desktop-dark.png", "stage": "agent-answer-confirmed", "theme": "dark", @@ -12919,17 +12919,17 @@ "width": 1440, "height": 900 }, - "sha256": "e39368f92ac22ffa7c25b848ee64c55a42efea7c0b93877c2091520ff840bf19", + "sha256": "1344df62806ff00b91b79c04c06330c346e928ef308b5fe0325b0ee415c6f47d", "action": null, "captured_action": null }, "agent-question-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-question-mobile-light.png", "stage": "agent-question", "theme": "light", @@ -12939,7 +12939,7 @@ "width": 390, "height": 844 }, - "sha256": "f153c65c12fcee4ef45a1ca44b3cba339e2198a25df2c3193283578dc12cf214", + "sha256": "b66444e9077e3d2496a14fae0ae3bd1f3768a6f9af7617cb9d00316a93f95923", "action": { "label": "Review answer", "top": 692.015625, @@ -12965,11 +12965,11 @@ }, "agent-answer-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-review-mobile-light.png", "stage": "agent-answer-review", "theme": "light", @@ -12979,7 +12979,7 @@ "width": 390, "height": 844 }, - "sha256": "eb74e1ca1935e50a4e87b151a6b505b1fe860f623ed06792c7652923cc24f5a5", + "sha256": "aaca963918695bd97a444bc045617e4c1ced775b9a3a48791056d654cb625f21", "action": { "label": "Send answer", "top": 647.453125, @@ -13005,11 +13005,11 @@ }, "agent-answer-unresolved-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-unresolved-mobile-light.png", "stage": "agent-answer-unresolved", "theme": "light", @@ -13019,7 +13019,7 @@ "width": 390, "height": 844 }, - "sha256": "24543afb78a8688999718074e88869280359291c4a1f8703fb19c23f32ec1205", + "sha256": "6b5cd450f8723c29b10406168c565ff1c32c5c1ea359350600c4e6a25bbad293", "action": { "label": "Check original answer", "top": 403.984375, @@ -13045,11 +13045,11 @@ }, "agent-answer-confirmed-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-confirmed-mobile-light.png", "stage": "agent-answer-confirmed", "theme": "light", @@ -13059,17 +13059,17 @@ "width": 390, "height": 844 }, - "sha256": "b3075e885948765f92ceca9f32caa45b3f770fbde7cc136e422f672dad88ddb1", + "sha256": "f2f1388b1069fcf18ff4120a73cfb4ff8e1110e7392d07e83988328a9c2dab89", "action": null, "captured_action": null }, "agent-question-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-question-mobile-dark.png", "stage": "agent-question", "theme": "dark", @@ -13079,7 +13079,7 @@ "width": 390, "height": 844 }, - "sha256": "de0b10a46c811dca1a6a98675e5711e0983bc846c7bfd6f3aee538f8372fe2f1", + "sha256": "e8808142ce0144a30f1504bcd9cee1e56bfd0f5fe16f5da934a6ccbb18bd4ea7", "action": { "label": "Review answer", "top": 692.015625, @@ -13105,11 +13105,11 @@ }, "agent-answer-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-review-mobile-dark.png", "stage": "agent-answer-review", "theme": "dark", @@ -13119,7 +13119,7 @@ "width": 390, "height": 844 }, - "sha256": "a8c5f71f48c560a70111bdd64a8af25ba1034fec849086be790ceba85645d75a", + "sha256": "e12d75e7a263dc74d84eff4e5d730769602d6617b44b0e69c582e250372a94a8", "action": { "label": "Send answer", "top": 647.453125, @@ -13145,11 +13145,11 @@ }, "agent-answer-unresolved-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-unresolved-mobile-dark.png", "stage": "agent-answer-unresolved", "theme": "dark", @@ -13159,7 +13159,7 @@ "width": 390, "height": 844 }, - "sha256": "5c88b7b2ec9269c2177f5cf7502226c6ecd28f9f6fa9fba98016f7e509e435d0", + "sha256": "20b0c1afa2c4db2c3aa77eeb90efc4380bdb755c122b9dd783b9526aab447de8", "action": { "label": "Check original answer", "top": 403.984375, @@ -13185,11 +13185,11 @@ }, "agent-answer-confirmed-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/agent-answer-confirmed-mobile-dark.png", "stage": "agent-answer-confirmed", "theme": "dark", @@ -13199,17 +13199,17 @@ "width": 390, "height": 844 }, - "sha256": "39345899857f32eaf7833148f55e87acfba425703085679997177948bcba3c08", + "sha256": "ad6952b59528f19a856d63011279ea02c3509181f87635fa240f0dd714df8ac7", "action": null, "captured_action": null }, "campaign-plan-waves-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-waves-desktop-light.png", "stage": "campaign-plan-waves", "theme": "light", @@ -13219,7 +13219,7 @@ "width": 1440, "height": 900 }, - "sha256": "a5d63a8e5f0321ac471d039b610175bc198e2c2e9a298c9d7f15ab7a8800439c", + "sha256": "b9077115bbb8090b92913e36298371b97a3bd4d9d36d6f489622eeda65b9ac1b", "action": { "label": "Continue to milestones", "top": 755.859375, @@ -13245,11 +13245,11 @@ }, "campaign-plan-milestones-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-milestones-desktop-light.png", "stage": "campaign-plan-milestones", "theme": "light", @@ -13259,7 +13259,7 @@ "width": 1440, "height": 900 }, - "sha256": "d9c2efff6b5a92c97b963dcc2b1facaade99375526f7e056e1b04aa738d17b05", + "sha256": "a805658c42f4eeb3519ae8e7ed6112f3698cf0210a21e852abb0fb4b929e472e", "action": { "label": "Review reporting criteria", "top": 789.15625, @@ -13285,11 +13285,11 @@ }, "campaign-plan-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-review-desktop-light.png", "stage": "campaign-plan-review", "theme": "light", @@ -13299,7 +13299,7 @@ "width": 1440, "height": 900 }, - "sha256": "e568e235c1b68232cc35cfb6019390695e4d4b19c4be8905549391d3ea741e04", + "sha256": "24e6870d98245a79435e39a5320bbdbae8fe1a9d62e85ef0f1c6d88479942d74", "action": { "label": "Save reporting plan", "top": 662.03125, @@ -13325,11 +13325,11 @@ }, "campaign-plan-unresolved-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-unresolved-desktop-light.png", "stage": "campaign-plan-unresolved", "theme": "light", @@ -13339,7 +13339,7 @@ "width": 1440, "height": 900 }, - "sha256": "ec8b97af864bc0bd8421d6427a6d78fcfcef1ccbb2ef5f2efbafb544f99f7eed", + "sha256": "84d45659e503850788551b157ca14b1f22df702944998e2f8111dc5885c867aa", "action": { "label": "Check original reporting plan", "top": 164.796875, @@ -13365,11 +13365,11 @@ }, "campaign-plan-progress-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-progress-desktop-light.png", "stage": "campaign-plan-progress", "theme": "light", @@ -13379,17 +13379,17 @@ "width": 1440, "height": 900 }, - "sha256": "5a9cd2d3e35dbca0a5593404f036ad7901251689ff2f0ed9bfbccef48d30b641", + "sha256": "5855fd9d8f291cd21418d7a107963a4a8d8748eb758dc6f9ef6db85375b07d94", "action": null, "captured_action": null }, "campaign-plan-waves-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-waves-desktop-dark.png", "stage": "campaign-plan-waves", "theme": "dark", @@ -13399,7 +13399,7 @@ "width": 1440, "height": 900 }, - "sha256": "8c876c34521e6b57148d17046f8903f6dec5d4e38ac34dcbdb971bf019bf829f", + "sha256": "44cb5e7fa47ff2ac310ad1228182d7ec9301e75888ef094ec08a6e63a2e62fb8", "action": { "label": "Continue to milestones", "top": 755.859375, @@ -13425,11 +13425,11 @@ }, "campaign-plan-milestones-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-milestones-desktop-dark.png", "stage": "campaign-plan-milestones", "theme": "dark", @@ -13439,7 +13439,7 @@ "width": 1440, "height": 900 }, - "sha256": "3123fbd6b15e5434117bc0a3a6131a712bba554c67b56c7c69e6a3f0b4161fd8", + "sha256": "f07e00bb1b2f4a76867a8edebd27e52386eec3637d153655010c9107284c6d82", "action": { "label": "Review reporting criteria", "top": 789.15625, @@ -13465,11 +13465,11 @@ }, "campaign-plan-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-review-desktop-dark.png", "stage": "campaign-plan-review", "theme": "dark", @@ -13479,7 +13479,7 @@ "width": 1440, "height": 900 }, - "sha256": "5d53f836142f3dcaa947461ad35be72c14ac26418ed1f6af7c3509bd1f410f67", + "sha256": "654d20b272dbd40c94f63fa776ddc8783211ee5f84b63c8d8aac82d2fa3a7654", "action": { "label": "Save reporting plan", "top": 662.03125, @@ -13505,11 +13505,11 @@ }, "campaign-plan-unresolved-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-unresolved-desktop-dark.png", "stage": "campaign-plan-unresolved", "theme": "dark", @@ -13519,7 +13519,7 @@ "width": 1440, "height": 900 }, - "sha256": "3344bc7602932a830081558960c1a5d8eb13875af50dde9c61aab45452b480c1", + "sha256": "68864a5d3a792db31192bf4a88fecabf7349a4af812347a37292d6bce1c85816", "action": { "label": "Check original reporting plan", "top": 164.796875, @@ -13545,11 +13545,11 @@ }, "campaign-plan-progress-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-progress-desktop-dark.png", "stage": "campaign-plan-progress", "theme": "dark", @@ -13559,17 +13559,17 @@ "width": 1440, "height": 900 }, - "sha256": "810d604ab0278bb6f3e83f041054b79cd08850fdba3c1981d5d6e7bb54b1d543", + "sha256": "6b17ae18e3cb6539c0dbf3a3416f11b6eb5732c4eea3a2f7c2f15aa0e2847e48", "action": null, "captured_action": null }, "campaign-plan-waves-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-waves-mobile-light.png", "stage": "campaign-plan-waves", "theme": "light", @@ -13605,11 +13605,11 @@ }, "campaign-plan-milestones-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-milestones-mobile-light.png", "stage": "campaign-plan-milestones", "theme": "light", @@ -13645,11 +13645,11 @@ }, "campaign-plan-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-review-mobile-light.png", "stage": "campaign-plan-review", "theme": "light", @@ -13659,7 +13659,7 @@ "width": 390, "height": 844 }, - "sha256": "683c11de75cb6c36e05e88a91795bbf49bca1ea15e759db435e98c1a24efb1db", + "sha256": "4f6416fb4b188bc26f36c02a1b87b1fa98595a8fd25c6235225d6c55f2eade31", "action": { "label": "Save reporting plan", "top": 662.65625, @@ -13685,11 +13685,11 @@ }, "campaign-plan-unresolved-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-unresolved-mobile-light.png", "stage": "campaign-plan-unresolved", "theme": "light", @@ -13699,7 +13699,7 @@ "width": 390, "height": 844 }, - "sha256": "f280a30aeb52afde74535938390908ae76978d772585c4b10912270a8314d7f8", + "sha256": "be0554ddf256223f774f6402abbc1b0f13e8c54dd63717c26d594055460c508c", "action": { "label": "Check original reporting plan", "top": 314.84375, @@ -13725,11 +13725,11 @@ }, "campaign-plan-progress-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-progress-mobile-light.png", "stage": "campaign-plan-progress", "theme": "light", @@ -13739,17 +13739,17 @@ "width": 390, "height": 844 }, - "sha256": "e7b4e02371001c64985810872f47e05ee696f08c31b90431dc6a723a9dc53709", + "sha256": "4233483694f017bca214a3897420951fbe43755c9920bb55892c77d184851d10", "action": null, "captured_action": null }, "campaign-plan-waves-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-waves-mobile-dark.png", "stage": "campaign-plan-waves", "theme": "dark", @@ -13785,11 +13785,11 @@ }, "campaign-plan-milestones-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-milestones-mobile-dark.png", "stage": "campaign-plan-milestones", "theme": "dark", @@ -13825,11 +13825,11 @@ }, "campaign-plan-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-review-mobile-dark.png", "stage": "campaign-plan-review", "theme": "dark", @@ -13839,7 +13839,7 @@ "width": 390, "height": 844 }, - "sha256": "8f86404981bce72bbaf6769441d2b66e7226ea8f62555979e0eab749d606d478", + "sha256": "c3f3965b490b38d2a0b8496660fb9553a8a8413139398cc8b067fdff03859bed", "action": { "label": "Save reporting plan", "top": 662.65625, @@ -13865,11 +13865,11 @@ }, "campaign-plan-unresolved-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-unresolved-mobile-dark.png", "stage": "campaign-plan-unresolved", "theme": "dark", @@ -13879,7 +13879,7 @@ "width": 390, "height": 844 }, - "sha256": "1adb0a26d6046cec0739ff6eb94adef79caa68f8047cf707b9fa85dcb78e0005", + "sha256": "52d403b9c6a235c3a55693656a94a459b7ef0c022c23b2d0cde43f8f49496230", "action": { "label": "Check original reporting plan", "top": 314.84375, @@ -13905,11 +13905,11 @@ }, "campaign-plan-progress-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/campaign-plan-progress-mobile-dark.png", "stage": "campaign-plan-progress", "theme": "dark", @@ -13919,17 +13919,17 @@ "width": 390, "height": 844 }, - "sha256": "52a343aefa15eb61a996877924fbe15bf413af07bc99fa6cc6eb672e2439a715", + "sha256": "2a8611316ccf0a13779cb6170741a583613dde00eb03e7e36996fe817d5a9cfa", "action": null, "captured_action": null }, "scm-delegation-account-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-account-desktop-light.png", "stage": "scm-delegation-account", "theme": "light", @@ -13939,7 +13939,7 @@ "width": 1440, "height": 900 }, - "sha256": "3b65c8b817160086bb854227e5a37905345e905a45ae1c8fb2ff523f613081c3", + "sha256": "b4e1b71665cc0acc15d4d4050d89401a44288dacc4472c58cbb4ee0425a2308e", "action": { "label": "Continue to scope", "top": 656.71875, @@ -13965,11 +13965,11 @@ }, "scm-delegation-scope-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-scope-desktop-light.png", "stage": "scm-delegation-scope", "theme": "light", @@ -13979,7 +13979,7 @@ "width": 1440, "height": 900 }, - "sha256": "b61ff4589884fa499ac38bf5e9dd49e38bc52750f45b1960b7e0348db6bf7670", + "sha256": "208f5a3163228f718e123d300f514412e4cfac3a032e19bdd49989c9363e14ad", "action": { "label": "Review delegation", "top": 789.15625, @@ -14005,11 +14005,11 @@ }, "scm-delegation-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-review-desktop-light.png", "stage": "scm-delegation-review", "theme": "light", @@ -14019,7 +14019,7 @@ "width": 1440, "height": 900 }, - "sha256": "3c2258ce7bb26e15941cdcf1fb64ae3f354aa0248884f9538c8390621f5b27f1", + "sha256": "9cb4715855d790904743b4026b359f66f6196a7e6033fc3d19e2a7f6cfabeb14", "action": { "label": "Save delegation", "top": 726, @@ -14045,11 +14045,11 @@ }, "scm-delegation-confirmed-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-confirmed-desktop-light.png", "stage": "scm-delegation-confirmed", "theme": "light", @@ -14059,7 +14059,7 @@ "width": 1440, "height": 900 }, - "sha256": "25296f106332e02a9bed273d2bb36f44051d589cb1f9b2e4ea0328fc9e551add", + "sha256": "49d4b6c523ed7062d1858b3ed8ea85bc5cf45bb1beb30f803d47338c0db92cb6", "action": { "label": "Close receipt", "top": 551.453125, @@ -14085,11 +14085,11 @@ }, "scm-delegation-account-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-account-desktop-dark.png", "stage": "scm-delegation-account", "theme": "dark", @@ -14099,7 +14099,7 @@ "width": 1440, "height": 900 }, - "sha256": "10dd37d117c507441a14d4189c4f7da8d45b4a1e09e33d802f2839b6bfb83acd", + "sha256": "820a1cf7e3c11c5525ecf5cffc0010e11b776772ca3dee40ba4675f054577783", "action": { "label": "Continue to scope", "top": 656.71875, @@ -14125,11 +14125,11 @@ }, "scm-delegation-scope-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-scope-desktop-dark.png", "stage": "scm-delegation-scope", "theme": "dark", @@ -14139,7 +14139,7 @@ "width": 1440, "height": 900 }, - "sha256": "fe3592cd9e33b04e4e2460670501c9185d7ba5fa277c7cb4d7f12632acb01814", + "sha256": "a9834c9f210ff0e854cc777447682b1b282f4e91d46325ab66ccfeeae6f06ca0", "action": { "label": "Review delegation", "top": 789.15625, @@ -14165,11 +14165,11 @@ }, "scm-delegation-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-review-desktop-dark.png", "stage": "scm-delegation-review", "theme": "dark", @@ -14179,7 +14179,7 @@ "width": 1440, "height": 900 }, - "sha256": "51d35f863ba9919280fbe75b970db5b4acf0b4294f30e968da04e99019968d61", + "sha256": "9e956cd7f333c6651e55a1d1c217a8d292ed201fb4d5fdd667565e1752cb421d", "action": { "label": "Save delegation", "top": 726, @@ -14205,11 +14205,11 @@ }, "scm-delegation-confirmed-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-confirmed-desktop-dark.png", "stage": "scm-delegation-confirmed", "theme": "dark", @@ -14219,7 +14219,7 @@ "width": 1440, "height": 900 }, - "sha256": "faf8716bc9345898f00f2dc40fa79e5698c7f22750145d1f8aba8f31eac3160e", + "sha256": "cdf159ddd5cbac651c5e4399a5d267052d7fe9e6fa192e1df983c93cfe59035e", "action": { "label": "Close receipt", "top": 551.453125, @@ -14245,11 +14245,11 @@ }, "scm-delegation-account-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-account-mobile-light.png", "stage": "scm-delegation-account", "theme": "light", @@ -14259,7 +14259,7 @@ "width": 390, "height": 844 }, - "sha256": "0b79dfd021caa3db7edf5dc5904a6beba21580eb9d54455a9e35220d9be9f296", + "sha256": "f90464511801c3adae60987fe20babde8e961503cf9fb6dbef2f9d8ec794037e", "action": { "label": "Continue to scope", "top": 662.140625, @@ -14285,11 +14285,11 @@ }, "scm-delegation-scope-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-scope-mobile-light.png", "stage": "scm-delegation-scope", "theme": "light", @@ -14325,11 +14325,11 @@ }, "scm-delegation-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-review-mobile-light.png", "stage": "scm-delegation-review", "theme": "light", @@ -14339,7 +14339,7 @@ "width": 390, "height": 844 }, - "sha256": "50516ece13db1f5fd7485dec789419d217b766d740ffb2dea156fddbf95991b8", + "sha256": "ca58be36b36d216925d7127f2db7d6c6a51904b6745c70d92499163d5b4266ee", "action": { "label": "Save delegation", "top": 743.328125, @@ -14365,11 +14365,11 @@ }, "scm-delegation-confirmed-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-confirmed-mobile-light.png", "stage": "scm-delegation-confirmed", "theme": "light", @@ -14379,7 +14379,7 @@ "width": 390, "height": 844 }, - "sha256": "2b63a2b61cc23b2b615bb49c756cad38479962a30378cc298041d554ff190a00", + "sha256": "e462e84247bd5c1fb2a12f1972a96b6c90754544df8fee8de1746ce87dc77a07", "action": { "label": "Close receipt", "top": 550.6875, @@ -14405,11 +14405,11 @@ }, "scm-delegation-account-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-account-mobile-dark.png", "stage": "scm-delegation-account", "theme": "dark", @@ -14419,7 +14419,7 @@ "width": 390, "height": 844 }, - "sha256": "0b9fc49cacfeb104fa56d00c76ddc419d732c96c9911f23309972e276dfd9b21", + "sha256": "db7ba2fcb768e9bf95f58f7c01985c20d272b56d9017dc1a002fd306a9fc5401", "action": { "label": "Continue to scope", "top": 662.140625, @@ -14445,11 +14445,11 @@ }, "scm-delegation-scope-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-scope-mobile-dark.png", "stage": "scm-delegation-scope", "theme": "dark", @@ -14485,11 +14485,11 @@ }, "scm-delegation-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-review-mobile-dark.png", "stage": "scm-delegation-review", "theme": "dark", @@ -14499,7 +14499,7 @@ "width": 390, "height": 844 }, - "sha256": "366787ba2cb3fc8dcaa4e4bf882ced36815d82819d14f954e0f85fb44bb73ed5", + "sha256": "832e5dc5821e730163ec8a1010c1b9951556979d2e927f26cf7818f7bb8cc461", "action": { "label": "Save delegation", "top": 743.328125, @@ -14525,11 +14525,11 @@ }, "scm-delegation-confirmed-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-delegation-confirmed-mobile-dark.png", "stage": "scm-delegation-confirmed", "theme": "dark", @@ -14539,7 +14539,7 @@ "width": 390, "height": 844 }, - "sha256": "a0457c5cd5f8d8804bdf385e1a9d45e232fc9ae454fbf31d890f355f36afa590", + "sha256": "02bc8a53089034711833edad9effbe0687e790cbad2982abe167c6311e6e62dd", "action": { "label": "Close receipt", "top": 550.6875, @@ -14565,11 +14565,11 @@ }, "recovery-run-request-held-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-run-request-held-desktop-light.png", "stage": "recovery-run-request-held", "theme": "light", @@ -14579,7 +14579,7 @@ "width": 1440, "height": 900 }, - "sha256": "100ef229a2b233505773076e97e0549e3ded8fd3660398627d365794bdeac67a", + "sha256": "fe94a68939e55e9e355b62d6f7ec3d7e4b2b4aa62809329ebe07c478bdb40f8f", "action": { "label": "Cancel this request", "top": 586.921875, @@ -14605,11 +14605,11 @@ }, "recovery-run-request-cancelled-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-run-request-cancelled-desktop-light.png", "stage": "recovery-run-request-cancelled", "theme": "light", @@ -14619,7 +14619,7 @@ "width": 1440, "height": 900 }, - "sha256": "744f0bd827176f7934360cd6026e5398404392aa7e1de628c44daef1d2e15f5f", + "sha256": "f90d4d7f215b26137d8d1605f7f059c7564ff6e4336dabe2e7989501bd22c8c3", "action": { "label": "Continue", "top": 713.078125, @@ -14645,11 +14645,11 @@ }, "recovery-original-result-ready-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-ready-desktop-light.png", "stage": "recovery-original-result-ready", "theme": "light", @@ -14659,7 +14659,7 @@ "width": 1440, "height": 900 }, - "sha256": "4fecd3774c44f5ec2868905bb156fad51fcda5455150aaee64c3e4a8594d39bf", + "sha256": "a78f0f14ab87fd6d4752ca0a304af32434f6d79b26dc531cba7b090b15a787f0", "action": { "label": "Review original result", "top": 472.203125, @@ -14685,11 +14685,11 @@ }, "recovery-original-result-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-review-desktop-light.png", "stage": "recovery-original-result-review", "theme": "light", @@ -14699,7 +14699,7 @@ "width": 1440, "height": 900 }, - "sha256": "3876e5bd53537dcd4bfafd0d8c960a91b59607cb0d417c40047eaf740258237f", + "sha256": "4d80663068dfb127de53aa3a4db6cff67770a802df16e5a482f4129371b80dcf", "action": { "label": "Continue from original result", "top": 664.59375, @@ -14725,11 +14725,11 @@ }, "recovery-original-result-held-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-held-desktop-light.png", "stage": "recovery-original-result-held", "theme": "light", @@ -14739,7 +14739,7 @@ "width": 1440, "height": 900 }, - "sha256": "c86ac7b150fa810b4173c910c70d507efd07b629653d4e203f836b05888dd200", + "sha256": "022d1d727cab6904c5a84171b91ea01e50a75c979e7b951440a79417ffa4a988", "action": { "label": "Read exact saved request", "top": 381.359375, @@ -14765,11 +14765,11 @@ }, "recovery-bridge-choices-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-bridge-choices-desktop-light.png", "stage": "recovery-bridge-choices", "theme": "light", @@ -14779,7 +14779,7 @@ "width": 1440, "height": 900 }, - "sha256": "0b0b6d380de634dd4f68b667a88aae714a884a43953afb4eb501e0d8720c266d", + "sha256": "fc9593411b106349b10bb1d045e1232149c2e3e71f2adb64485411ab785c5470", "action": { "label": "Implementation checkpointsUse current defaultDisabledRequiredRequired saves implementation checkpoints.", "top": 531.65625, @@ -14805,11 +14805,11 @@ }, "recovery-run-request-held-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-run-request-held-desktop-dark.png", "stage": "recovery-run-request-held", "theme": "dark", @@ -14819,7 +14819,7 @@ "width": 1440, "height": 900 }, - "sha256": "ac1db1667a515385a01616e49efb738112bb755301721c82b457223e7dc729f3", + "sha256": "e432af92aff86c7ac0140a61318996df950a504950f618b4cf62c39569d70462", "action": { "label": "Cancel this request", "top": 586.921875, @@ -14845,11 +14845,11 @@ }, "recovery-run-request-cancelled-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-run-request-cancelled-desktop-dark.png", "stage": "recovery-run-request-cancelled", "theme": "dark", @@ -14859,7 +14859,7 @@ "width": 1440, "height": 900 }, - "sha256": "25006917188edbb755300488e424b99bb96986e26c332defb39a10d4d03bdf7b", + "sha256": "28dc5877d8af1bc2c93ad3eaf3ede53dd579accc8b1958a5dcebe7374a0dc16f", "action": { "label": "Continue", "top": 713.078125, @@ -14885,11 +14885,11 @@ }, "recovery-original-result-ready-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-ready-desktop-dark.png", "stage": "recovery-original-result-ready", "theme": "dark", @@ -14899,7 +14899,7 @@ "width": 1440, "height": 900 }, - "sha256": "a8f13e02faffc4848c9bd0d9b0b2a4d18818fb944f83c752e24a35ed8fc7caaf", + "sha256": "8375a583e35095fb58a6f29a6e1ccc979cd0ac2d6bc90c15cdbdee6b300e3839", "action": { "label": "Review original result", "top": 472.203125, @@ -14925,11 +14925,11 @@ }, "recovery-original-result-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-review-desktop-dark.png", "stage": "recovery-original-result-review", "theme": "dark", @@ -14939,7 +14939,7 @@ "width": 1440, "height": 900 }, - "sha256": "4373222db05932e389b2b9e3b4658f0500d8c262897604e8b7921d0a93152a69", + "sha256": "718e1de998ae4b097495a27dd68c0a7ecf620bf8283d592690f20c08d6dd4840", "action": { "label": "Continue from original result", "top": 664.59375, @@ -14965,11 +14965,11 @@ }, "recovery-original-result-held-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-held-desktop-dark.png", "stage": "recovery-original-result-held", "theme": "dark", @@ -14979,7 +14979,7 @@ "width": 1440, "height": 900 }, - "sha256": "889c3f39fe37266cf35a410c59f9742554958cc2ac7ca0381ca81a770395d467", + "sha256": "fd98cf2f9cafbc235c79f42ec0b2826e660513f4c2ad1877126d6033afadb37c", "action": { "label": "Read exact saved request", "top": 381.359375, @@ -15005,11 +15005,11 @@ }, "recovery-bridge-choices-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-bridge-choices-desktop-dark.png", "stage": "recovery-bridge-choices", "theme": "dark", @@ -15019,7 +15019,7 @@ "width": 1440, "height": 900 }, - "sha256": "20952a379e85714d0c0ea7c0faaa3ce249f83285e893da4c76ac0263c2f66881", + "sha256": "f30b04e8d140274faf11cc471577d1d7e366937681a056811b4200995f068500", "action": { "label": "Implementation checkpointsUse current defaultDisabledRequiredRequired saves implementation checkpoints.", "top": 531.65625, @@ -15045,11 +15045,11 @@ }, "recovery-run-request-held-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-run-request-held-mobile-light.png", "stage": "recovery-run-request-held", "theme": "light", @@ -15059,7 +15059,7 @@ "width": 390, "height": 844 }, - "sha256": "40a9ee6a73dd6913558a620f4caee28c5ffcadfff48ef1a8dd0e2cd437799365", + "sha256": "eef05f28eb9e920de047a5d9d030c2bf588e8cd7f99e8826cb3d1c87375b5f63", "action": { "label": "Cancel this request", "top": 630.90625, @@ -15085,11 +15085,11 @@ }, "recovery-run-request-cancelled-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-run-request-cancelled-mobile-light.png", "stage": "recovery-run-request-cancelled", "theme": "light", @@ -15099,7 +15099,7 @@ "width": 390, "height": 844 }, - "sha256": "10692601680bc953f040048c5e9bf00710be3b030593dfe88fe98c4a0d9e0d0b", + "sha256": "f869c460ac9aaf16a2390641eeb735e559382fd1dd4d44e8737aa2ff4c59043e", "action": { "label": "Continue", "top": 693.078125, @@ -15125,11 +15125,11 @@ }, "recovery-original-result-ready-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-ready-mobile-light.png", "stage": "recovery-original-result-ready", "theme": "light", @@ -15139,7 +15139,7 @@ "width": 390, "height": 844 }, - "sha256": "6f5b98c18b199792e9345e1f80c6b0d2732a6f370d25203efab7907396a5ebbc", + "sha256": "12e01e1403876266e24bab5a6d9ff813f4685e4878390f8d2e1e3b829503f8b3", "action": { "label": "Review original result", "top": 682.03125, @@ -15165,11 +15165,11 @@ }, "recovery-original-result-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-review-mobile-light.png", "stage": "recovery-original-result-review", "theme": "light", @@ -15179,7 +15179,7 @@ "width": 390, "height": 844 }, - "sha256": "e19c50f44933d6db845c5907ea0274353e3f48702c5fea5212f347acc0102d0c", + "sha256": "b23f2c79fc250c2de54cbaffc5d78867aab931d49d4f5bb937383c3830847b04", "action": { "label": "Continue from original result", "top": 503.8125, @@ -15205,11 +15205,11 @@ }, "recovery-original-result-held-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-held-mobile-light.png", "stage": "recovery-original-result-held", "theme": "light", @@ -15219,7 +15219,7 @@ "width": 390, "height": 844 }, - "sha256": "e78bd7a34d095c1878ecd40ae03a26d1edc810ca53a3fc52cf44ca0e24bd83f8", + "sha256": "cf62807e6ab95761d08700bb524010b13eb562933e4b2dd479ceccb744e13091", "action": { "label": "Read exact saved request", "top": 405.03125, @@ -15245,11 +15245,11 @@ }, "recovery-bridge-choices-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-bridge-choices-mobile-light.png", "stage": "recovery-bridge-choices", "theme": "light", @@ -15259,7 +15259,7 @@ "width": 390, "height": 844 }, - "sha256": "8a3336d3ff109a8cca3041bb688d1d847f631c6a3bef766dff2aa2b10588b0c1", + "sha256": "831559726d6864f7eb77054970d22ac40273a6bdab0a3826fb9e7b93a5ff0bba", "action": { "label": "Original model resultsOriginal model result recoveryUse current defaultLegacyRequiredRequired retains the original result. Use current default keeps the existing configuration.Implementation checkpointsUse current defaultDisabledRequiredRequired saves implementation checkpoints.Checkpoints support the Bridge implementation with text and static file tools. Required checkpoints need required result recovery. Configure the separate review profile independently.", "top": 136.75, @@ -15285,11 +15285,11 @@ }, "recovery-run-request-held-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-run-request-held-mobile-dark.png", "stage": "recovery-run-request-held", "theme": "dark", @@ -15299,7 +15299,7 @@ "width": 390, "height": 844 }, - "sha256": "802035151c2f79371e0bd7d115bfe1a514a4d8475767381b86afef623bceddaf", + "sha256": "2bf503bc192872c279bb15ad631d604642dab2cec1acbd416b0666168edddb83", "action": { "label": "Cancel this request", "top": 630.90625, @@ -15325,11 +15325,11 @@ }, "recovery-run-request-cancelled-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-run-request-cancelled-mobile-dark.png", "stage": "recovery-run-request-cancelled", "theme": "dark", @@ -15339,7 +15339,7 @@ "width": 390, "height": 844 }, - "sha256": "957cd3adf5f75821304986c91e7448acf3b5696505a60bdcd0cda476d8454fc4", + "sha256": "e02db1b22e0ce33b84723263aa19f14cb6943d79162913ef78afbcff881ceef6", "action": { "label": "Continue", "top": 693.078125, @@ -15365,11 +15365,11 @@ }, "recovery-original-result-ready-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-ready-mobile-dark.png", "stage": "recovery-original-result-ready", "theme": "dark", @@ -15379,7 +15379,7 @@ "width": 390, "height": 844 }, - "sha256": "5ba07ef4be8f972197b7b89cfa3185b59c2e13d209cb84b5fea40cc5e22f991c", + "sha256": "0b88b259cc8e5135ba63b453281416242a1c5b9564b8eed8042974c567471bea", "action": { "label": "Review original result", "top": 682.03125, @@ -15405,11 +15405,11 @@ }, "recovery-original-result-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-review-mobile-dark.png", "stage": "recovery-original-result-review", "theme": "dark", @@ -15419,7 +15419,7 @@ "width": 390, "height": 844 }, - "sha256": "e103d1ed4bf71491812bc9bb85a8681d2242330d13c788b0f791d00014c6366c", + "sha256": "5a763663d7025441096237cb7bb270adcc3f08af2be53d36c54ab78092622902", "action": { "label": "Continue from original result", "top": 503.8125, @@ -15445,11 +15445,11 @@ }, "recovery-original-result-held-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-original-result-held-mobile-dark.png", "stage": "recovery-original-result-held", "theme": "dark", @@ -15459,7 +15459,7 @@ "width": 390, "height": 844 }, - "sha256": "6327c6af3d61f6cdaa889e0628429db03b7625be2dbe7a8266128f3340fbf0ba", + "sha256": "86b3ebc4dc369291c6b908f9f2e9ef9ada4b6c46cf0de46b64a969ea7427356c", "action": { "label": "Read exact saved request", "top": 405.03125, @@ -15485,11 +15485,11 @@ }, "recovery-bridge-choices-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/recovery-bridge-choices-mobile-dark.png", "stage": "recovery-bridge-choices", "theme": "dark", @@ -15499,7 +15499,7 @@ "width": 390, "height": 844 }, - "sha256": "9f499139939b585f55af486b7866959fb1e60ccdcfd622f7cfc102849f241a93", + "sha256": "c43f2a9669520260afe06a24e506d96d8cf70fac64c948b1f9f657df9182ba54", "action": { "label": "Original model resultsOriginal model result recoveryUse current defaultLegacyRequiredRequired retains the original result. Use current default keeps the existing configuration.Implementation checkpointsUse current defaultDisabledRequiredRequired saves implementation checkpoints.Checkpoints support the Bridge implementation with text and static file tools. Required checkpoints need required result recovery. Configure the separate review profile independently.", "top": 136.75, @@ -15525,11 +15525,11 @@ }, "activity-provider-preview-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-provider-preview-desktop-light.png", "stage": "activity-provider-preview", "theme": "light", @@ -15539,7 +15539,7 @@ "width": 1440, "height": 900 }, - "sha256": "3900235bd8ca4fed51a494f9a2c29224a53cb5b4369d6ff37b9f396e23db3251", + "sha256": "926c86ed1b5c798f083506730173660d38ae92e11925ff7c95baf12edf3ac676", "action": { "label": "Read full recorded event", "top": 736.375, @@ -15565,11 +15565,11 @@ }, "activity-provider-full-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-provider-full-desktop-light.png", "stage": "activity-provider-full", "theme": "light", @@ -15579,7 +15579,7 @@ "width": 1440, "height": 900 }, - "sha256": "2f64b2c6e1803cba794db563602758c8ac3d580d42bec99fa1387736d0f0f280", + "sha256": "163398f0a0277dfc533252e9c8c80016950ef36f232d2e6badeb871f250c1412", "action": { "label": "Copy full recorded event", "top": 680.375, @@ -15605,11 +15605,11 @@ }, "activity-provider-preview-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-provider-preview-desktop-dark.png", "stage": "activity-provider-preview", "theme": "dark", @@ -15619,7 +15619,7 @@ "width": 1440, "height": 900 }, - "sha256": "6ed9858e2020639f272e8a1129995f6c3645042dc650484db5f4e0e22fc96b1d", + "sha256": "7da2a06e04405dcc9edaa82435c596a23ee5813f2a86af3b0343887ef9646621", "action": { "label": "Read full recorded event", "top": 736.375, @@ -15645,11 +15645,11 @@ }, "activity-provider-full-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-provider-full-desktop-dark.png", "stage": "activity-provider-full", "theme": "dark", @@ -15659,7 +15659,7 @@ "width": 1440, "height": 900 }, - "sha256": "267cfa78039df9424204e0737f8756e0fd2927e0376ccdd25f96b5e79cd8bd3a", + "sha256": "d98c4aec374388a8e9811998ba41c71e3e7fd21b48debb4bdee8a5e51156d61c", "action": { "label": "Copy full recorded event", "top": 680.375, @@ -15685,11 +15685,11 @@ }, "activity-provider-preview-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-provider-preview-mobile-light.png", "stage": "activity-provider-preview", "theme": "light", @@ -15699,7 +15699,7 @@ "width": 390, "height": 844 }, - "sha256": "8015c1e2ae8d8be285fbeef6c150e823cead08d3328f4ea624e4aaaf677de4a8", + "sha256": "d13aff9f9a6347947154c52351da71601f6c3f5d8dd991f310a97c23472f9aa1", "action": { "label": "Read full recorded event", "top": 738.734375, @@ -15725,11 +15725,11 @@ }, "activity-provider-full-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-provider-full-mobile-light.png", "stage": "activity-provider-full", "theme": "light", @@ -15739,7 +15739,7 @@ "width": 390, "height": 844 }, - "sha256": "8a4fc5fda369f47e0a84641715e8ef2e651631f2c4bc510f482dd44c3673a9d4", + "sha256": "2905148a254fbc59399d9a4e9d10b9af95f664087f966458a86f4978cd29676f", "action": { "label": "Copy full recorded event", "top": 426.734375, @@ -15765,11 +15765,11 @@ }, "activity-provider-preview-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-provider-preview-mobile-dark.png", "stage": "activity-provider-preview", "theme": "dark", @@ -15779,7 +15779,7 @@ "width": 390, "height": 844 }, - "sha256": "638ec1c44838efe670542d43aff03dda17721eb798c58c4624c4b93d675ca92e", + "sha256": "e08cff388b37550bf8dda201f663b9d6f7523abe0a6fb2cdbaa65176e569434b", "action": { "label": "Read full recorded event", "top": 738.734375, @@ -15805,11 +15805,11 @@ }, "activity-provider-full-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-provider-full-mobile-dark.png", "stage": "activity-provider-full", "theme": "dark", @@ -15819,7 +15819,7 @@ "width": 390, "height": 844 }, - "sha256": "667820add74f6e192c296de4435fbd4ba05a683fa04e4c64a1a8348e1192816a", + "sha256": "a7ad79ecbc634ffd9f5f03447d277585bc52b9db727e8c2519c8dc7c84355f72", "action": { "label": "Copy full recorded event", "top": 426.734375, @@ -15845,11 +15845,11 @@ }, "activity-claude-request-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-claude-request-desktop-light.png", "stage": "activity-claude-request", "theme": "light", @@ -15859,7 +15859,7 @@ "width": 1440, "height": 900 }, - "sha256": "1723e90cdd0c4a5f726e46a2d0a26509c58cf511133107c39e2b1ac9730d6153", + "sha256": "e130ce628fa1c49ef7742a74f2d1f22aa4b4a83b3087a99df90d10c2d970665b", "action": { "label": "Copy requested command preview", "top": 366, @@ -15885,11 +15885,11 @@ }, "activity-claude-result-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-claude-result-desktop-light.png", "stage": "activity-claude-result", "theme": "light", @@ -15899,7 +15899,7 @@ "width": 1440, "height": 900 }, - "sha256": "34debe3d9288c5c048f1fdcbc2a95a7d2bb000261088f431124b0efc04d7b8f6", + "sha256": "882dcc1652f914371861bee03c12167667361d11205c2b7e5892aafe7c220402", "action": { "label": "Copy preview", "top": 248.15625, @@ -15925,11 +15925,11 @@ }, "activity-claude-request-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-claude-request-desktop-dark.png", "stage": "activity-claude-request", "theme": "dark", @@ -15939,7 +15939,7 @@ "width": 1440, "height": 900 }, - "sha256": "79a3642dd7d4b14349def908d4050dca5ea2000244e5c241ba7b4dfbb5e4fd78", + "sha256": "27695a5467bc4cf972f3c1351f40aa987b9055e05e71fee9c66aa1c5fa733eb5", "action": { "label": "Copy requested command preview", "top": 366, @@ -15965,11 +15965,11 @@ }, "activity-claude-result-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-claude-result-desktop-dark.png", "stage": "activity-claude-result", "theme": "dark", @@ -15979,7 +15979,7 @@ "width": 1440, "height": 900 }, - "sha256": "10ee497b303468c96b52b510edd4e17996e0aead1ab10ca978bdbe74594e0e2a", + "sha256": "fe345a3609ba32adba8b778f1b34d115b81ed8324a84ac7feb67cb47ba4441ac", "action": { "label": "Copy preview", "top": 248.15625, @@ -16005,11 +16005,11 @@ }, "activity-claude-request-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-claude-request-mobile-light.png", "stage": "activity-claude-request", "theme": "light", @@ -16019,7 +16019,7 @@ "width": 390, "height": 844 }, - "sha256": "65d2fc2c43af3cb86c23f62edd24f711e6f374b0af350ef527bdf471dc2ddb81", + "sha256": "bc29e641e079e2e23db7758025a783d458c5467669e0b443d4d659d2798c955f", "action": { "label": "Copy requested command preview", "top": 493.203125, @@ -16045,11 +16045,11 @@ }, "activity-claude-result-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-claude-result-mobile-light.png", "stage": "activity-claude-result", "theme": "light", @@ -16059,7 +16059,7 @@ "width": 390, "height": 844 }, - "sha256": "6a294553d38c9f14f1336c99baf3d46693f59ceec881159ccd679c07c65f7ccb", + "sha256": "656d50d37b0374d7bafc4568074d407d7378b53cf7eaf5f47929ea1405cd4252", "action": { "label": "Copy preview", "top": 285.328125, @@ -16085,11 +16085,11 @@ }, "activity-claude-request-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-claude-request-mobile-dark.png", "stage": "activity-claude-request", "theme": "dark", @@ -16099,7 +16099,7 @@ "width": 390, "height": 844 }, - "sha256": "e6db2aadd1616cbf2f51dbcc1003dbb96345fb20ebeb10be6708eccefabc3956", + "sha256": "b07e2b0f1f1de980ce94cc4c1245cfeae654405aeaca67a6e6753c982645daac", "action": { "label": "Copy requested command preview", "top": 493.203125, @@ -16125,11 +16125,11 @@ }, "activity-claude-result-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/activity-claude-result-mobile-dark.png", "stage": "activity-claude-result", "theme": "dark", @@ -16139,7 +16139,7 @@ "width": 390, "height": 844 }, - "sha256": "9ea2de95984fa9cffb23fcca6e487233377343be3f0a1c651913077883e7d212", + "sha256": "cfad7df526559a85a93d07cb2eabf4229a9f16ef82eb5a70d1886ae2f4860feb", "action": { "label": "Copy preview", "top": 285.328125, @@ -16165,11 +16165,11 @@ }, "scm-poll-continuation-mapping-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-mapping-desktop-light.png", "stage": "scm-poll-continuation-mapping", "theme": "light", @@ -16179,7 +16179,7 @@ "width": 1440, "height": 900 }, - "sha256": "2fef019a07744815dae91f235398e29dad9c8e623401da48fe2d85f6b1643349", + "sha256": "b50782a85489d357fb03e252966cca1038efc2e580b36f485137de15274a4398", "action": { "label": "Continue", "top": 618.109375, @@ -16205,11 +16205,11 @@ }, "scm-poll-continuation-scope-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-scope-desktop-light.png", "stage": "scm-poll-continuation-scope", "theme": "light", @@ -16219,7 +16219,7 @@ "width": 1440, "height": 900 }, - "sha256": "c85d58344782b275296c5472d4c7f580a3b5b0b10c229c0fd4b3d7dee6cec1a7", + "sha256": "a68daeab09477f8348c0214fbe6e1784b6f1dc398533db85686efcf75e2f5854", "action": { "label": "Continue", "top": 651.015625, @@ -16245,11 +16245,11 @@ }, "scm-poll-continuation-review-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-review-desktop-light.png", "stage": "scm-poll-continuation-review", "theme": "light", @@ -16259,7 +16259,7 @@ "width": 1440, "height": 900 }, - "sha256": "3c846edb48b0a0ac92eb94788aceb64050471dcd3c96b29da1d73708a99fdda8", + "sha256": "bb1d2d907f4fb4fcd484dda6a715ae705a95927ff654a7c1f2500aab41c1b102", "action": { "label": "Save permission", "top": 675.703125, @@ -16285,11 +16285,11 @@ }, "scm-poll-continuation-confirmed-desktop-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-confirmed-desktop-light.png", "stage": "scm-poll-continuation-confirmed", "theme": "light", @@ -16299,7 +16299,7 @@ "width": 1440, "height": 900 }, - "sha256": "8521174140384967ddfb29c28f522a9e9c880c0395ac48cc537e42a51a2450fb", + "sha256": "cb89a8906cb50be94db42e9270967a3c3fa8751044c277b4337e6db2453b0319", "action": { "label": "Exact consent references", "top": 786.171875, @@ -16325,11 +16325,11 @@ }, "scm-poll-continuation-mapping-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-mapping-desktop-dark.png", "stage": "scm-poll-continuation-mapping", "theme": "dark", @@ -16339,7 +16339,7 @@ "width": 1440, "height": 900 }, - "sha256": "1622b1d854017bfae966c647bf452753d5ba24de76a4a9601ee35afe8664634e", + "sha256": "fb4687c8eb56420042a7f5ff9c482a9e74250658ee74a8909161c7cecee9afee", "action": { "label": "Continue", "top": 618.109375, @@ -16365,11 +16365,11 @@ }, "scm-poll-continuation-scope-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-scope-desktop-dark.png", "stage": "scm-poll-continuation-scope", "theme": "dark", @@ -16379,7 +16379,7 @@ "width": 1440, "height": 900 }, - "sha256": "f15d678b47a5f26f0b432d886bfc6f45d5ce4b3c9c317fe4a209a5eb7b718719", + "sha256": "3146adcbe2a4fd42b1826c2a23273c017a05a61dcef1168fac21c1d2c000c21c", "action": { "label": "Continue", "top": 651.015625, @@ -16405,11 +16405,11 @@ }, "scm-poll-continuation-review-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-review-desktop-dark.png", "stage": "scm-poll-continuation-review", "theme": "dark", @@ -16419,7 +16419,7 @@ "width": 1440, "height": 900 }, - "sha256": "9f9286e6f5ec6dc059d84a9fe289afd890551890e05b764dcb444633676da7a7", + "sha256": "592e7d686fda1f157ec684f86e2f7266740a890914f41ddf7ce308af3dc940a7", "action": { "label": "Save permission", "top": 675.703125, @@ -16445,11 +16445,11 @@ }, "scm-poll-continuation-confirmed-desktop-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-confirmed-desktop-dark.png", "stage": "scm-poll-continuation-confirmed", "theme": "dark", @@ -16459,7 +16459,7 @@ "width": 1440, "height": 900 }, - "sha256": "3aa5702ecb15ad5430ebbda3fd3ed63692ac6949007b7469062395f7da2775de", + "sha256": "7c4c258fbc4b4a7a292975a622c4d7c115625f082d3cee0e395b39b1999ade71", "action": { "label": "Exact consent references", "top": 786.171875, @@ -16485,11 +16485,11 @@ }, "scm-poll-continuation-mapping-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-mapping-mobile-light.png", "stage": "scm-poll-continuation-mapping", "theme": "light", @@ -16499,7 +16499,7 @@ "width": 390, "height": 844 }, - "sha256": "6cdc246e1aa42047be8f95c3092d2ecad767d413efcdf69be310676415535878", + "sha256": "1b9e58fe765123b2e930b2a0d5cb5d18042b7d68e1c58a808ad5e434c0b81e02", "action": { "label": "Continue", "top": 657.734375, @@ -16525,11 +16525,11 @@ }, "scm-poll-continuation-scope-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-scope-mobile-light.png", "stage": "scm-poll-continuation-scope", "theme": "light", @@ -16539,7 +16539,7 @@ "width": 390, "height": 844 }, - "sha256": "81940dbd67f63ab3083551d591cfc43cdb9470d608fbdf26c4e00b4ed6d7aa18", + "sha256": "4a5907284a0dc72b95a61d4371e9ab30feabf8656addfff9948e25cb2a1562ef", "action": { "label": "Continue", "top": 662.625, @@ -16565,11 +16565,11 @@ }, "scm-poll-continuation-review-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-review-mobile-light.png", "stage": "scm-poll-continuation-review", "theme": "light", @@ -16579,7 +16579,7 @@ "width": 390, "height": 844 }, - "sha256": "e839ad680ddaf5fa6b4161a650d3919b6add25d855d62803319e97652e1ff2de", + "sha256": "e531cdeec5563efcdbeccacc9e62b3259f78dba5ed1252f6f94733380d7d4886", "action": { "label": "Save permission", "top": 712.625, @@ -16605,11 +16605,11 @@ }, "scm-poll-continuation-confirmed-mobile-light.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-confirmed-mobile-light.png", "stage": "scm-poll-continuation-confirmed", "theme": "light", @@ -16619,7 +16619,7 @@ "width": 390, "height": 844 }, - "sha256": "71945826c18a5fe7f612c3d3dffe03280cc97060a19923f0453de5d52e73c2a7", + "sha256": "6d0c9d2d30d90d6a72b624761eab2d938fed072611deb444f22a105047cfe1bf", "action": { "label": "Exact consent references", "top": 450.84375, @@ -16645,11 +16645,11 @@ }, "scm-poll-continuation-mapping-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-mapping-mobile-dark.png", "stage": "scm-poll-continuation-mapping", "theme": "dark", @@ -16659,7 +16659,7 @@ "width": 390, "height": 844 }, - "sha256": "d83508ecd6be7dc4a918280dae7b8943d0ea8213d70765ae6cc69bfd028bcb13", + "sha256": "c859d4600262b4d70c775bfa9af4cf5b8460fc9de2b84bfe24863da365e7a2ea", "action": { "label": "Continue", "top": 657.734375, @@ -16685,11 +16685,11 @@ }, "scm-poll-continuation-scope-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-scope-mobile-dark.png", "stage": "scm-poll-continuation-scope", "theme": "dark", @@ -16699,7 +16699,7 @@ "width": 390, "height": 844 }, - "sha256": "cffb193cd47b10158c7ff4368cc05229d9f4b6b348fe648473655b154c58d511", + "sha256": "3d41b9ec7341c4ff1279b4dcc071ed6f07346603f8eb08beeb15d9f3d9a1e851", "action": { "label": "Continue", "top": 662.625, @@ -16725,11 +16725,11 @@ }, "scm-poll-continuation-review-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-review-mobile-dark.png", "stage": "scm-poll-continuation-review", "theme": "dark", @@ -16739,7 +16739,7 @@ "width": 390, "height": 844 }, - "sha256": "3a3ecbe004f4ca3ce7ba9fd3fbb80d960cc2a5833c30c39698762eefb53551bc", + "sha256": "127e49d27c63e228345f7e1e78178bcd9bd3b3e336e491d957bec8501cadb32a", "action": { "label": "Save permission", "top": 712.625, @@ -16765,11 +16765,11 @@ }, "scm-poll-continuation-confirmed-mobile-dark.png": { "producer": "studio/tests/docs-walkthrough.spec.ts", - "producer_sha256": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/scm-poll-continuation-confirmed-mobile-dark.png", "stage": "scm-poll-continuation-confirmed", "theme": "dark", @@ -16779,7 +16779,7 @@ "width": 390, "height": 844 }, - "sha256": "211d959f58b19104b1a131a6fb012ddc299376c8bc35e9332d27f3292e4eb1d0", + "sha256": "2d5192dc8fef6531addcb61bb4e5a34d93157480cc6aa5f26acc30dca1dc5eec", "action": { "label": "Exact consent references", "top": 450.84375, @@ -16806,10 +16806,10 @@ "provider-allowance-failure-desktop-light.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-failure-desktop-light.png", "stage": "provider-allowance-failure", "theme": "light", @@ -16819,7 +16819,7 @@ "width": 1440, "height": 900 }, - "sha256": "772ef0f4a7b60e225987086af2e86e8b30a1fe1a603c127134dbc5f1e2006e27", + "sha256": "a830b2f7cd5e610e2440ed758ccba1b97d56d4cdd1918623d0f1e493348186ea", "action": { "label": "Continue to mitigation", "top": 704.9375, @@ -16846,10 +16846,10 @@ "provider-allowance-mitigation-desktop-light.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-mitigation-desktop-light.png", "stage": "provider-allowance-mitigation", "theme": "light", @@ -16859,7 +16859,7 @@ "width": 1440, "height": 900 }, - "sha256": "aa43310d13de291ef57a15c3c326b0ba4ffa5e80161f2a1866e6c0cb09626e96", + "sha256": "777ba199a68d0fa27c3d4479b80d0b4c0ad92bb550f7f41b556bdc34f637911a", "action": { "label": "Review reservation", "top": 734.96875, @@ -16886,10 +16886,10 @@ "provider-allowance-review-desktop-light.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-review-desktop-light.png", "stage": "provider-allowance-review", "theme": "light", @@ -16899,7 +16899,7 @@ "width": 1440, "height": 900 }, - "sha256": "73221a10eae1874268c30dabd4840175de76fa61eeac51e30265ea78194dd167", + "sha256": "96276ca54bdd9d21626febd31dc997f83dad42d35c6ed2a8d0a1c458cc74cd5e", "action": { "label": "Reserve final allowance", "top": 747.84375, @@ -16926,10 +16926,10 @@ "provider-allowance-reserved-desktop-light.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-reserved-desktop-light.png", "stage": "provider-allowance-reserved", "theme": "light", @@ -16939,11 +16939,11 @@ "width": 1440, "height": 900 }, - "sha256": "299d2d651d58d20cdea8607f4c4a1f1231844432ab5da02a77b02fd2fdd38dea", + "sha256": "0dcfbd54a587ccbbaf86fcf3d579f86895a5459b8e45eed71aee0f02df4f80eb", "action": { "label": "Check saved reservation", - "top": 574.046875, - "bottom": 614.890625, + "top": 573.890625, + "bottom": 614.734375, "footerTop": 836, "boundaryTop": 0, "boundaryBottom": 836, @@ -16952,8 +16952,8 @@ "textFits": true }, "captured_action": { - "top": 574.046875, - "bottom": 614.890625, + "top": 573.890625, + "bottom": 614.734375, "footerTop": 836, "boundaryTop": 0, "boundaryBottom": 836, @@ -16966,10 +16966,10 @@ "provider-allowance-failure-desktop-dark.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-failure-desktop-dark.png", "stage": "provider-allowance-failure", "theme": "dark", @@ -16979,7 +16979,7 @@ "width": 1440, "height": 900 }, - "sha256": "b4032e0e194f715dc0b278a5b3fa162787a65ec8b144e64303527cb76150cbda", + "sha256": "83673dea62229ec4b32bc4efb9855a27a2fe030ad7c92b2a4aa3d8e572999a88", "action": { "label": "Continue to mitigation", "top": 704.9375, @@ -17006,10 +17006,10 @@ "provider-allowance-mitigation-desktop-dark.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-mitigation-desktop-dark.png", "stage": "provider-allowance-mitigation", "theme": "dark", @@ -17019,7 +17019,7 @@ "width": 1440, "height": 900 }, - "sha256": "b335bc5ade7d718a5503bdd720b4025ee8a5fe5798e6580f00b44492f9afd4c9", + "sha256": "fdb26250311c9e99c847539635884286391cbb68836d18b0a87ad627766822f3", "action": { "label": "Review reservation", "top": 734.96875, @@ -17046,10 +17046,10 @@ "provider-allowance-review-desktop-dark.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-review-desktop-dark.png", "stage": "provider-allowance-review", "theme": "dark", @@ -17059,7 +17059,7 @@ "width": 1440, "height": 900 }, - "sha256": "1f8d21d393929b0404b2ed32f739fcfbf7f6f1c0bd3f07646b97b8f3c4862873", + "sha256": "0b2bdd31a17e5fffaaae5a44cf06011d8334d790a09b176eac40caace9621dd5", "action": { "label": "Reserve final allowance", "top": 747.84375, @@ -17086,10 +17086,10 @@ "provider-allowance-reserved-desktop-dark.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-reserved-desktop-dark.png", "stage": "provider-allowance-reserved", "theme": "dark", @@ -17099,11 +17099,11 @@ "width": 1440, "height": 900 }, - "sha256": "8c7ce18fc4170d11327f7e3922ff2fa1d381ef7bf6f349dabec605b210b19797", + "sha256": "985307f7f76f5eb39a8ed47acf48e524bb055afbfea8e0e4726836e044e5f6d8", "action": { "label": "Check saved reservation", - "top": 574.046875, - "bottom": 614.890625, + "top": 573.890625, + "bottom": 614.734375, "footerTop": 836, "boundaryTop": 0, "boundaryBottom": 836, @@ -17112,8 +17112,8 @@ "textFits": true }, "captured_action": { - "top": 574.046875, - "bottom": 614.890625, + "top": 573.890625, + "bottom": 614.734375, "footerTop": 836, "boundaryTop": 0, "boundaryBottom": 836, @@ -17126,10 +17126,10 @@ "provider-allowance-failure-mobile-light.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-failure-mobile-light.png", "stage": "provider-allowance-failure", "theme": "light", @@ -17139,7 +17139,7 @@ "width": 390, "height": 844 }, - "sha256": "7a1c2adf87a4d85bd63fd75642fef033032348683ba05fb392740b92584269f1", + "sha256": "61f5bea3c5ba6171127ea6d6da178e8441441c39e3697600080cfbf82ad1f6d1", "action": { "label": "Continue to mitigation", "top": 733.71875, @@ -17166,10 +17166,10 @@ "provider-allowance-mitigation-mobile-light.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-mitigation-mobile-light.png", "stage": "provider-allowance-mitigation", "theme": "light", @@ -17179,7 +17179,7 @@ "width": 390, "height": 844 }, - "sha256": "532f029fddc166541320df6b38299311f43bcdb9b6d6028753857558c4cbec83", + "sha256": "f9bba4d6374428e2d997caaa86aa35b69dc16d75478dc5ff693df107c189e2d7", "action": { "label": "Review reservation", "top": 754.296875, @@ -17206,10 +17206,10 @@ "provider-allowance-review-mobile-light.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-review-mobile-light.png", "stage": "provider-allowance-review", "theme": "light", @@ -17219,7 +17219,7 @@ "width": 390, "height": 844 }, - "sha256": "1d2c231b4fca8318c94e025fd5af2dcef963e5bb1c54b6918f4d659adf3fdc62", + "sha256": "c3599cfb2d59ba0910452a7ff32b2a8a11d37a2d55d231e009f59befc6cd9524", "action": { "label": "Reserve final allowance", "top": 754.265625, @@ -17246,10 +17246,10 @@ "provider-allowance-reserved-mobile-light.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-reserved-mobile-light.png", "stage": "provider-allowance-reserved", "theme": "light", @@ -17259,11 +17259,11 @@ "width": 390, "height": 844 }, - "sha256": "a390f8c5a08bb996c6d3d799ebb0f266e128426aa10246423d2dd9be10523fbd", + "sha256": "e0de8629bcdd54f9f2c7801467fcda5fde7d3d98bc294b75a63ca51de9abb484", "action": { "label": "Check saved reservation", - "top": 630.71875, - "bottom": 671.5625, + "top": 630.5625, + "bottom": 671.40625, "footerTop": 800, "boundaryTop": 0, "boundaryBottom": 800, @@ -17272,8 +17272,8 @@ "textFits": true }, "captured_action": { - "top": 630.71875, - "bottom": 671.5625, + "top": 630.5625, + "bottom": 671.40625, "footerTop": 800, "boundaryTop": 0, "boundaryBottom": 800, @@ -17286,10 +17286,10 @@ "provider-allowance-failure-mobile-dark.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-failure-mobile-dark.png", "stage": "provider-allowance-failure", "theme": "dark", @@ -17299,7 +17299,7 @@ "width": 390, "height": 844 }, - "sha256": "4cfe5466250f5857227a6a00d42ed5a794e58aabb4aafb48739e2995a7fb4060", + "sha256": "da84d04e8d5000d0daeedbb15f7e749cfa5e05ac0b4560facb9215a155bb604e", "action": { "label": "Continue to mitigation", "top": 733.71875, @@ -17326,10 +17326,10 @@ "provider-allowance-mitigation-mobile-dark.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-mitigation-mobile-dark.png", "stage": "provider-allowance-mitigation", "theme": "dark", @@ -17339,7 +17339,7 @@ "width": 390, "height": 844 }, - "sha256": "410f7d401bb911af1c0d18b1af9de4887e902ae36d0594ade62661ab28ffae3e", + "sha256": "22c898a128e22ab3438505e4589c6f22b79412b81cdc34b20cc039a61248148f", "action": { "label": "Review reservation", "top": 754.296875, @@ -17366,10 +17366,10 @@ "provider-allowance-review-mobile-dark.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-review-mobile-dark.png", "stage": "provider-allowance-review", "theme": "dark", @@ -17379,7 +17379,7 @@ "width": 390, "height": 844 }, - "sha256": "e7440921b5b3c2bcbc8731e2734d03ba4feeaa5ed26c9db89f66267b1a3757f6", + "sha256": "8ed3ef89bc81316a10e1a19db902f8ac27c0de7099aaecee3795e05eb9ad7d33", "action": { "label": "Reserve final allowance", "top": 754.265625, @@ -17406,10 +17406,10 @@ "provider-allowance-reserved-mobile-dark.png": { "producer": "studio/tests/docs-provider-allowance.spec.ts", "producer_sha256": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", - "capture_helpers_digest": "e76747c8cae4f802c058c81344ba365db392226e4e476926061621a433b73b4b", - "capture_config_sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc", - "studio_version": "0.2.28", - "frontend_digest": "295fc298f8151d738b31901e3a11cdb68f80afd48fc72ea22c1df4fc5ae63820", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", "path": "assets/screenshots/provider-allowance-reserved-mobile-dark.png", "stage": "provider-allowance-reserved", "theme": "dark", @@ -17419,11 +17419,11 @@ "width": 390, "height": 844 }, - "sha256": "83646d5284f3627d33e55659d3b517d6f829b82f23460bb3f5029bb5e9f60885", + "sha256": "9b5d8a470d114d3f97d9172736c2a200565aff14d4519bab955e9ae421f73dbf", "action": { "label": "Check saved reservation", - "top": 630.71875, - "bottom": 671.5625, + "top": 630.5625, + "bottom": 671.40625, "footerTop": 800, "boundaryTop": 0, "boundaryBottom": 800, @@ -17432,8 +17432,968 @@ "textFits": true }, "captured_action": { - "top": 630.71875, - "bottom": 671.5625, + "top": 630.5625, + "bottom": 671.40625, + "footerTop": 800, + "boundaryTop": 0, + "boundaryBottom": 800, + "boundary": "footer", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "coding-check-scope-desktop-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-scope-desktop-light.png", + "stage": "coding-check-scope", + "theme": "light", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "6503984193b28280e63aaf71c90c023357b79bedf127631c8a0182491b6333df", + "action": { + "label": "Continue", + "top": 781.515625, + "bottom": 825.515625, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 873.515625, + "bottom": 917.515625, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-grant-desktop-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-grant-desktop-light.png", + "stage": "coding-check-grant", + "theme": "light", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "78a5465fe3cd2e304d77f3c98039bb7b9a697871688795380f999357fc7f5258", + "action": { + "label": "Grant selected checks", + "top": 757.75, + "bottom": 801.75, + "footerTop": 836, + "boundaryTop": 48.25, + "boundaryBottom": 851.75, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 757.75, + "bottom": 801.75, + "footerTop": 836, + "boundaryTop": 48.25, + "boundaryBottom": 851.75, + "boundary": "dialog", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "coding-check-mitigation-desktop-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-mitigation-desktop-light.png", + "stage": "coding-check-mitigation", + "theme": "light", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "330b9d438a61fefc3c33b29a19699867d1b2dcc3203202c52bca006cd2ad1882", + "action": { + "label": "Review final recovery", + "top": 782.328125, + "bottom": 826.328125, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 901.328125, + "bottom": 945.328125, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-review-desktop-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-review-desktop-light.png", + "stage": "coding-check-review", + "theme": "light", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "bd956501401d7f9a760f2d1ff2587be0f0db919f7b16bdfa72d8c2b2cb8c813d", + "action": { + "label": "Reserve final attempt", + "top": 806.859375, + "bottom": 850.859375, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 806.859375, + "bottom": 850.859375, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "coding-check-reserved-desktop-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-reserved-desktop-light.png", + "stage": "coding-check-reserved", + "theme": "light", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "890bb706f73092a33581b79b7c843bdcad358af0f1ed5a49b4fd72de9225c5bd", + "action": { + "label": "Return to execution record", + "top": 504.96875, + "bottom": 545.8125, + "footerTop": 836, + "boundaryTop": 329.1875, + "boundaryBottom": 570.8125, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 504.96875, + "bottom": 545.8125, + "footerTop": 836, + "boundaryTop": 329.1875, + "boundaryBottom": 570.8125, + "boundary": "dialog", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "coding-check-scope-desktop-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-scope-desktop-dark.png", + "stage": "coding-check-scope", + "theme": "dark", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "b899164b8b86ed991e0281c35b695fd8144b017c4752dee29851bfb9e2b40262", + "action": { + "label": "Continue", + "top": 781.515625, + "bottom": 825.515625, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 873.515625, + "bottom": 917.515625, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-grant-desktop-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-grant-desktop-dark.png", + "stage": "coding-check-grant", + "theme": "dark", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "dc949592aae5e1b67ed65c017e2458521dc7347f026413b2735fc4c018067be2", + "action": { + "label": "Grant selected checks", + "top": 757.75, + "bottom": 801.75, + "footerTop": 836, + "boundaryTop": 48.25, + "boundaryBottom": 851.75, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 757.75, + "bottom": 801.75, + "footerTop": 836, + "boundaryTop": 48.25, + "boundaryBottom": 851.75, + "boundary": "dialog", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "coding-check-mitigation-desktop-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-mitigation-desktop-dark.png", + "stage": "coding-check-mitigation", + "theme": "dark", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "9f2ef153ca4d0238ec99e1aeed0604ce517349adde7f61ba3968726965640a01", + "action": { + "label": "Review final recovery", + "top": 782.328125, + "bottom": 826.328125, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 901.328125, + "bottom": 945.328125, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-review-desktop-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-review-desktop-dark.png", + "stage": "coding-check-review", + "theme": "dark", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "82566e90dece447e4fda3e1e7ea8069a1b9e5372e0fde434d308371971faeff7", + "action": { + "label": "Reserve final attempt", + "top": 806.859375, + "bottom": 850.859375, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 806.859375, + "bottom": 850.859375, + "footerTop": 836, + "boundaryTop": 24, + "boundaryBottom": 876, + "boundary": "dialog", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "coding-check-reserved-desktop-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-reserved-desktop-dark.png", + "stage": "coding-check-reserved", + "theme": "dark", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "8e6cade3129b9477a8121e755bc6dcb9899285d95e75df982e1a3eb1d879ca77", + "action": { + "label": "Return to execution record", + "top": 504.96875, + "bottom": 545.8125, + "footerTop": 836, + "boundaryTop": 329.1875, + "boundaryBottom": 570.8125, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 504.96875, + "bottom": 545.8125, + "footerTop": 836, + "boundaryTop": 329.1875, + "boundaryBottom": 570.8125, + "boundary": "dialog", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "coding-check-scope-mobile-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-scope-mobile-light.png", + "stage": "coding-check-scope", + "theme": "light", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "b24b55ce4e5c93f1fec71b20d546fd72327b3e3a274e50e3c0520fb85a0c960b", + "action": { + "label": "Continue", + "top": 754.15625, + "bottom": 798.15625, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 1053.15625, + "bottom": 1097.15625, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-grant-mobile-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-grant-mobile-light.png", + "stage": "coding-check-grant", + "theme": "light", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "78b7706235654871a0129081bcbdbd55a393a0c276b09b702f6c68a7c22402de", + "action": { + "label": "Grant selected checks", + "top": 753.765625, + "bottom": 797.765625, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 954.765625, + "bottom": 998.765625, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-mitigation-mobile-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-mitigation-mobile-light.png", + "stage": "coding-check-mitigation", + "theme": "light", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "f45002d89dd6c33cc7f3e3a936cc2b3df314ec0a4a3f56ad35defedecbb7f025", + "action": { + "label": "Review final recovery", + "top": 753.78125, + "bottom": 797.78125, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 1052.78125, + "bottom": 1096.78125, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-review-mobile-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-review-mobile-light.png", + "stage": "coding-check-review", + "theme": "light", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "f15adada0c24c1a89e256af70cf9804f48a5c1fc5cf090a72aa757feb0fddb40", + "action": { + "label": "Reserve final attempt", + "top": 754.4375, + "bottom": 798.4375, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 932.4375, + "bottom": 976.4375, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-reserved-mobile-light.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-reserved-mobile-light.png", + "stage": "coding-check-reserved", + "theme": "light", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "3b0c1ca5d1e356a85443299dd2e885fb92fc23f765d87e9f1aeca8391cfcacf5", + "action": { + "label": "Return to execution record", + "top": 496.15625, + "bottom": 537, + "footerTop": 800, + "boundaryTop": 289.984375, + "boundaryBottom": 554, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 496.15625, + "bottom": 537, + "footerTop": 800, + "boundaryTop": 289.984375, + "boundaryBottom": 554, + "boundary": "dialog", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "coding-check-scope-mobile-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-scope-mobile-dark.png", + "stage": "coding-check-scope", + "theme": "dark", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "902c3d33a5f389aaec0a9ed6842c55eb385b9ad78d3e2579d189b49876fa1cbd", + "action": { + "label": "Continue", + "top": 754.15625, + "bottom": 798.15625, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 1053.15625, + "bottom": 1097.15625, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-grant-mobile-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-grant-mobile-dark.png", + "stage": "coding-check-grant", + "theme": "dark", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "60ba0d4929956afeb4878798ee2a7bd587569ca8e38199b89cb43046544b1f2d", + "action": { + "label": "Grant selected checks", + "top": 753.765625, + "bottom": 797.765625, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 954.765625, + "bottom": 998.765625, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-mitigation-mobile-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-mitigation-mobile-dark.png", + "stage": "coding-check-mitigation", + "theme": "dark", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "fc3d2929f38923b674cb10f5ba2f30f80b85a35f7c28fc7a78498d864d4ddbf1", + "action": { + "label": "Review final recovery", + "top": 753.78125, + "bottom": 797.78125, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 1052.78125, + "bottom": 1096.78125, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-review-mobile-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-review-mobile-dark.png", + "stage": "coding-check-review", + "theme": "dark", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "10526a851ea42afdc5bceed635f00fa15caf532cc5c664c6c4d9d2ad58c04c58", + "action": { + "label": "Reserve final attempt", + "top": 754.4375, + "bottom": 798.4375, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 932.4375, + "bottom": 976.4375, + "footerTop": 800, + "boundaryTop": 12, + "boundaryBottom": 832, + "boundary": "dialog", + "in_frame": false, + "hit": false, + "textFits": true + } + }, + "coding-check-reserved-mobile-dark.png": { + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + "producer_sha256": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/coding-check-reserved-mobile-dark.png", + "stage": "coding-check-reserved", + "theme": "dark", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "2c64a95c10562883c0c43e62b4bcc8db2bc811393405906c6f028c74d3f93af3", + "action": { + "label": "Return to execution record", + "top": 496.15625, + "bottom": 537, + "footerTop": 800, + "boundaryTop": 289.984375, + "boundaryBottom": 554, + "boundary": "dialog", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 496.15625, + "bottom": 537, + "footerTop": 800, + "boundaryTop": 289.984375, + "boundaryBottom": 554, + "boundary": "dialog", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "activity-codex-mcp-desktop-light.png": { + "producer": "studio/tests/docs-walkthrough.spec.ts", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/activity-codex-mcp-desktop-light.png", + "stage": "activity-codex-mcp", + "theme": "light", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "f3814feab6d225f1f9efa534fe7006189d24f5e2f6b695e4ea589a70ec0c5075", + "action": { + "label": "Copy output preview", + "top": 472.59375, + "bottom": 502.59375, + "footerTop": 836, + "boundaryTop": 0, + "boundaryBottom": 836, + "boundary": "footer", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 472.59375, + "bottom": 502.59375, + "footerTop": 836, + "boundaryTop": 0, + "boundaryBottom": 836, + "boundary": "footer", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "activity-codex-mcp-desktop-dark.png": { + "producer": "studio/tests/docs-walkthrough.spec.ts", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/activity-codex-mcp-desktop-dark.png", + "stage": "activity-codex-mcp", + "theme": "dark", + "device": "desktop", + "fixture": true, + "viewport": { + "width": 1440, + "height": 900 + }, + "sha256": "c432a620f8a7d5511cdb3fa7ec3090ad97b0d21bd08d47afae64f37094416c35", + "action": { + "label": "Copy output preview", + "top": 472.59375, + "bottom": 502.59375, + "footerTop": 836, + "boundaryTop": 0, + "boundaryBottom": 836, + "boundary": "footer", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 472.59375, + "bottom": 502.59375, + "footerTop": 836, + "boundaryTop": 0, + "boundaryBottom": 836, + "boundary": "footer", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "activity-codex-mcp-mobile-light.png": { + "producer": "studio/tests/docs-walkthrough.spec.ts", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/activity-codex-mcp-mobile-light.png", + "stage": "activity-codex-mcp", + "theme": "light", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "eead824d45d96a99e60597e100a878f58e690abdf061f327a45612c36c61ec6a", + "action": { + "label": "Copy output preview", + "top": 300.390625, + "bottom": 330.390625, + "footerTop": 800, + "boundaryTop": 0, + "boundaryBottom": 800, + "boundary": "footer", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 300.390625, + "bottom": 330.390625, + "footerTop": 800, + "boundaryTop": 0, + "boundaryBottom": 800, + "boundary": "footer", + "in_frame": true, + "hit": true, + "textFits": true + } + }, + "activity-codex-mcp-mobile-dark.png": { + "producer": "studio/tests/docs-walkthrough.spec.ts", + "producer_sha256": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", + "capture_helpers_digest": "de5d0f0bff10ed6336f72340460fc4d1ce90b79a5ecfbd1c75fd6f405db68ffe", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.30", + "frontend_digest": "1d794b03d7964e70e3d0a80f3ace4367d14fd6b8916d21548e35f47152acc171", + "path": "assets/screenshots/activity-codex-mcp-mobile-dark.png", + "stage": "activity-codex-mcp", + "theme": "dark", + "device": "mobile", + "fixture": true, + "viewport": { + "width": 390, + "height": 844 + }, + "sha256": "14b03f142956fd270533259d9529b2131b7209960e3fbaa2b516bcbb37a2cef3", + "action": { + "label": "Copy output preview", + "top": 300.390625, + "bottom": 330.390625, + "footerTop": 800, + "boundaryTop": 0, + "boundaryBottom": 800, + "boundary": "footer", + "hit": true, + "textFits": true + }, + "captured_action": { + "top": 300.390625, + "bottom": 330.390625, "footerTop": 800, "boundaryTop": 0, "boundaryBottom": 800, @@ -17487,6 +18447,11 @@ "studio/src/CampaignReports.tsx": "2edc9ac583d8180fee39b042997bb61f9cb883b77a3bc1201ee301d83c47285d", "studio/src/ChannelBootstrap.tsx": "689daf8773a18b2aa14b5503697b046bcddd85e3bbb0a3cd0502bfa5f307ee52", "studio/src/CloudRecipe.tsx": "c479e8882fda28821507b9723f6c83c3cef0b2ffeb816665e5cb9fbd114d048a", + "studio/src/CodingCheckGrantData.test.ts": "58e599a8a14f348931c98b31698e87dde1bc16832f0f3ccfe60763d57cdb695c", + "studio/src/CodingCheckGrantData.ts": "dd178accdee7bd19bac25456d93263fb39972c9bcb598e925f76b3adeb486bbf", + "studio/src/CodingCheckRecovery.css": "26e87b6271f213c21eaef5578dad2d5d281d2573cc494e54a3ace794a55ef5a9", + "studio/src/CodingCheckRecovery.test.tsx": "26826919b6f4d4e0d89cb8f27d212e0b7303aabd4c48584aa89eb0e134f41002", + "studio/src/CodingCheckRecovery.tsx": "91de47a6d1e2e5d8014bdbaf25d1c6e921c9cc8d3991944357d62715d2e2e45b", "studio/src/Collaboration.tsx": "482dd5464d5b7a038ac7caf15478c7b0ca976fe72f1cf66be0f7007a5d575c80", "studio/src/Configuration.tsx": "1993204960ed54ead59ce6c4c10d09ca5be73d3660318ca5b298977b34ce3d77", "studio/src/ConnectionOAuthSettings.test.ts": "f4a4471d6105b35fd1b54dc10151d0b42d2374214a15c7335addbfa8f4755a91", @@ -17501,8 +18466,8 @@ "studio/src/ExecutionFormat.ts": "8d20cfe6e5dc93c4d0ece64c0cd69c20a4be9dcfb5bedabecc68f88d3c31c874", "studio/src/ExecutionPresentation.css": "0bf9edbd37c70fa4e6bb4acce401bd4f100acb1cd07a0bcaf8c3203a1ab949a9", "studio/src/ExecutionPresentation.test.tsx": "98d8d3b9c48239f1e56624f173878685b8f43da184fa7b2de5afef6af2594638", - "studio/src/ExecutionPresentation.tsx": "72430e5d0eb36e09773e075a5cc93ae49f143073ffb7ed8c0fdf787d71ee321b", - "studio/src/ExecutionRecord.tsx": "c8f44015995882b365661e939f093c301dbe106fae9ff7995fc71c09dfbc3f28", + "studio/src/ExecutionPresentation.tsx": "325d06dba51b5b2a547a03435f5d3e9181630f6a7071d195ee98175b4c35f21a", + "studio/src/ExecutionRecord.tsx": "bf0fdc26ef94b07a871fcc46bb156e93de048cadd6e6f1607531f068fc9f51da", "studio/src/ExecutionRecordKeys.test.tsx": "b02db497391c97b9553725665f9eb6a67c251a4148a7defeebbf3dc520812f2d", "studio/src/ExternalToolPrerequisites.test.tsx": "bd333a55ec2eda102a550712e43d8e40b9a8437def1a9ef0fba110d9eee2d3aa", "studio/src/ExternalToolPrerequisites.tsx": "13c46ed578b3b35825517621bd29f606be7f4ce5e0f5181eaaaf3595d6e60ce0", @@ -17581,12 +18546,13 @@ "studio/src/ProjectAccess.tsx": "db53200f65bfb06e36e47d04c29cd7d1f40af5285630e4dfae208f48658c1391", "studio/src/Projects.tsx": "31635a3b8bbd42cd41233a2a6663c338f49d34b3a8dd60568c6915b52c384d54", "studio/src/ProviderActivityData.test.ts": "8c745dfaccb66ef95837f8dd3e7fa534de94c5ffc70351e30f5badb53e6b960d", - "studio/src/ProviderActivityData.ts": "5b8c43356f0bb9a85856bea6b44f62f3409d85d2ed1ff2af98f594cd2e1167d6", + "studio/src/ProviderActivityData.ts": "e3557e8c75a5db56cdefa69a8f22b3ca260718bf4c056b927dd61f07aaf9f4f1", + "studio/src/ProviderActivityMCP.test.tsx": "5ebbbefb3e87f2d455e73bac134b8981d816eb4ddb7b658e79764060a210d8c8", "studio/src/ProviderActivityView.test.tsx": "f1d1f240b65d27c0ba2733b8aea970ca028cfd5151ffe9b6555da5a9f0aad965", - "studio/src/ProviderActivityView.tsx": "4928e0363eb46cfc6fa7c4de9177ab2c9fb3c1f1815c43eb384cab521be6c183", + "studio/src/ProviderActivityView.tsx": "9588b6707078ceaaaacc62b7ae7bbfd5da76130724397e9ddd1a5e34ffa9466f", "studio/src/ProviderRecoveryAllowance.css": "c3ada872946641ebee19a893386ea61a2080ce30bef0b7a9c8434ac1226e06b7", "studio/src/ProviderRecoveryAllowance.test.tsx": "7eb2f16ae19027d9a126bb7f786e201ccc198cf0b9f1854e898e87b29e05673a", - "studio/src/ProviderRecoveryAllowance.tsx": "8a10993be91befb62a2a1f64765c4876f0a18c58f405ba73dfaeb78ab396ead7", + "studio/src/ProviderRecoveryAllowance.tsx": "53573a76f34bd65503ae073f9bdc67689ef9c5d9a1aeb5ac07eeb8b3eb91f026", "studio/src/ProviderRecoveryAllowanceData.test.ts": "b4221b0198c4d415a191e38f0a2f0b824979b873322b825ca66c46f83be4274b", "studio/src/ProviderRecoveryAllowanceData.ts": "fd871fe15a4af50147350756d7dbda2a90f47797840d03b242263ac610afe695", "studio/src/RepositoryLabels.test.ts": "df14fda84664309b39283fb927fb239ba07b353ed44888515d1b8a675ce772b0", @@ -17678,11 +18644,11 @@ "studio/public/licenses/markdown-LICENSES.txt": "c963152bef753cf47cc4c18ef25c26c45c0c0b351e538bf2e7bc5b63d81fce2f", "studio/public/licenses/three-LICENSE.txt": "8b378ebe60e2fe500158cb0ac71cb5e8b7d92953c2abcc63a0eb90499653b5bc", "studio/index.html": "9cb93a750f86ad497d1e1d9b9fa249d6dac6ee979890ec9b90897081546ba2f6", - "studio/package.json": "fc1d9eb44eb6bb83f8050f1dcad181ea54c8e4391393abf5413b63a401d4570b" + "studio/package.json": "be0fe8e20fa16c8b1e8486fcbfe30d4f0db6d29329674b708079b84406b94ef2" }, - "studio_version": "0.2.28", + "studio_version": "0.2.30", "capture_helpers": { - "studio/tests/walkthrough-capture.ts": "10462ef862f968c037b9dd280e241f3a5a456f55eb338f1ed997b12f4817e397", + "studio/tests/walkthrough-capture.ts": "afd2829cef1a615200139dba795645e4aac2207f269b21d66d119012bee023cf", "studio/tests/navigation.ts": "bc1f571617b33fc1d62cc0579b378d8e6c631d2ae1eb97504de555d71c9af012", "studio/tests/auth-fixture.ts": "276c8f7b08f324da2e04355feeb7feee3c5260c4aabe50f88899df67e3a0105d", "studio/tests/learning-record-fixture.ts": "d14259f00f205d82030fc57114eff600f3e0b16f4ceef681842afd9f4a7de5d2", @@ -17695,19 +18661,23 @@ "studio/tests/agent-checkpoint-recovery-fixture.ts": "8c40282a0e85cbb5fc7baab6ab662e9549d3a686fe8cfec8fbc50d3686d6405c", "studio/tests/run-creation-cancellation-fixture.ts": "cbb603a15954ab07948c22e47f0135d197510f340dbd6c8690373cfbaa6cfd41", "studio/tests/provider-activity-guide-fixture.json": "589b8f4a1eb22fa92edb09808eb7af18eabe490f1684b36dc7b27ecd8fd624ca", + "studio/tests/provider-mcp-activity-guide-fixture.json": "88ed5c2e504db16a73414bd87b8b662caaf566fcedd88ff94b4e2c10feca3177", "studio/tests/scm-delegation-fixture.ts": "f1ff3f5d99ddcf97cefa516ab0630e24db8d3377962c1b77c7fa5780d5ac441f", "studio/tests/scm-delegation-contract-fixture.json": "6da3a844d940c0ca8fcd18260de073fb88550aa909aa097e9904428cd20c83ca", "studio/tests/scm-poll-resume-contract-fixture.json": "f636236cf7f7e365b0bf27af70558818e279bd97637d3b19d6c5caf549c35778", "studio/tests/provider-recovery-allowance-fixture.ts": "2bd8a278f668bf4c31c683d81a812f330424ac37198156fb66b5415c6ae86d5c", - "studio/tests/provider-recovery-allowance-browser-fixture.ts": "25e6bfef4f17cd233889a2b98e55adedf0ae53089e8e6d030911fb1a88ff9312" + "studio/tests/provider-recovery-allowance-browser-fixture.ts": "25e6bfef4f17cd233889a2b98e55adedf0ae53089e8e6d030911fb1a88ff9312", + "studio/tests/coding-check-grant-fixture.json": "19e78731713b957eba57f8a161cb080b371ba8c2eb451517c6eba3991ae8c3a8", + "studio/tests/coding-check-recovery-browser-fixture.ts": "2216fb73ea70939a9a5df373d3c13925f741410cd2646bc4b2f057a1e2b30e3c" }, "capture_producers": { - "studio/tests/docs-walkthrough.spec.ts": "09b41fa5eb9451ad7fb96fceba6bf40553ec9f00cdfbeca3dccb1e2661fbf39e", + "studio/tests/docs-walkthrough.spec.ts": "4ee6f05763bd927bc1a65316e3503ef11c946ff57c10219369e03a983c25f837", "studio/tests/external-tools.spec.ts": "64cc9a18cfa4962981814cc6d56dcbe586b6c6391dcb5b26bfaaf65244f5b7ec", - "studio/tests/docs-provider-allowance.spec.ts": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521" + "studio/tests/docs-provider-allowance.spec.ts": "6d95e8d3650e3986dc4f8efb82a3902b06a2c7f77cbfa1778105f94b76b22521", + "studio/tests/docs-coding-check-recovery.spec.ts": "b21038cb053d35213cf230b3c4d742873dc97693fce8730e6628300a74d45fbc" }, "capture_config": { "path": "studio/playwright.docs.config.ts", - "sha256": "afa499549fcd8e1643941a26310520cd788f8b1cc41b4562deafe323bd2eb2fc" + "sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594" } } diff --git a/docs/installation.md b/docs/installation.md index 98562e7a8..3237bab2a 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -105,6 +105,8 @@ For a new managed host connection, [bootstrap with an explicit HTTPS loopback en uv run forge serve --host 127.0.0.1 --port 8787 --data-dir .forge ``` +`forge serve` selects the stdlib asyncio event loop explicitly. If you host the application through Uvicorn directly, configure `--loop asyncio`. With a finite POSIX file-size limit, forge refuses trusted CLI dispatch under a known uvloop host because its subprocess path does not preserve the required ignored file-size signal. Use the supported loop and keep the existing kernel limit; see [file-size failure recovery](recovery.md#recover-a-known-failed-official-cli-attempt). + Open [Studio](http://127.0.0.1:8787/). For this explicit local setup, enter the operator token once; the server exchanges it for a durable HttpOnly session. Production installations use [Keycloak sign-in](identity.md). Configure a provider and test its access. Connect an authorized repository, choose pyfly or larafly, and create a small run with observable acceptance checks. A database connection or migration failure prevents startup. A rejected operator token requires matching Studio and server credentials. Missing Studio files require rebuilding its production bundle. Provider authentication and actual model execution have separate checks. diff --git a/docs/prompt-templates.md b/docs/prompt-templates.md index 68383a147..e09702823 100644 --- a/docs/prompt-templates.md +++ b/docs/prompt-templates.md @@ -7,7 +7,7 @@ description: Maintain the versioned YAML instructions rendered by native Firefly forge's built-in model instructions live in `src/firefly_forge/resources/prompts/v1/`. Python selects a known template and supplies already validated text. Firefly Agentic 26.10.1 loads the YAML, registers its exact version and renders it with its native Jinja2 implementation. -The resources cover implementation profiles, default roles and skills, product dialogue, independent review, repair, task guidance and model-facing tool descriptions. The catalog contains 258 templates: 77 instructions, 162 factory MCP descriptions, the opt-in native execution-evidence tool description, two factory verification instructions and sixteen source-control feedback templates. The seven community adaptations remain in their existing licensed JSON catalog. Runtime commands, SQL, general UI labels, provider credentials and user messages are not template source. +The resources cover implementation profiles, default roles and skills, product dialogue, independent review, repair, task guidance and model-facing tool descriptions. The catalog contains 260 templates, including 162 factory MCP descriptions. The other resources cover model instructions, opt-in execution evidence, the scoped configured-check tool, factory verification and source-control feedback. The seven community adaptations remain in their existing licensed JSON catalog. Runtime commands, SQL, general UI labels, provider credentials and user messages are not template source. ## Find the right resource diff --git a/docs/recovery.md b/docs/recovery.md index 1b145172c..fcfbd2492 100644 --- a/docs/recovery.md +++ b/docs/recovery.md @@ -89,7 +89,11 @@ The [Studio walkthrough](console-tour.md#4-inspect-the-run-before-continuing) sh ## Recover a known failed official CLI attempt -On POSIX, a negative exit code matching `SIGXFSZ` (for example, `-25` on macOS) can indicate a file-size limit. For a parent with a finite soft limit, the trusted CLI launcher preserves its ignored `SIGXFSZ` disposition so an oversized write can return `EFBIG` without raising the limit. Bounded native and CLI comparisons establish this launch-boundary mitigation; they do not identify the original offending write or file, establish a plugin cause, or qualify a generated application. Inspect the retained process and verification evidence before using the recovery contract below. This change grants no additional attempt, replay or budget reset. +On POSIX, a negative exit code matching `SIGXFSZ` (for example, `-25` on macOS) can indicate a file-size limit. With the stdlib asyncio event loop and a finite soft limit, the trusted CLI launcher preserves its inherited ignored `SIGXFSZ` disposition so an oversized write can return `EFBIG` without raising the limit. `forge serve` selects asyncio explicitly; the headless worker already uses `asyncio.run`. + +An external ASGI host must select the stdlib loop, such as Uvicorn's `--loop asyncio`. The verified uvloop 0.23 subprocess path resets the child's ignored signal even with `restore_signals=False`. Forge rejects a known uvloop host with a finite soft file-size limit before the configured provider dispatch intent and before the final CLI launch guard or process creation. The typed runtime-admission error explains how to select asyncio. Already-spent implementation tasks and reservations remain spent; this refusal refunds nothing and grants no retry. + +Bounded native and CLI comparisons qualify this launch mitigation. They do not identify the original offending write or file, establish a plugin cause, or qualify a generated application. Inspect the retained process and verification evidence before using the recovery contract below. The kernel limit, original attempt history and repair budget remain unchanged. A current native factory administrator can explicitly admit one replacement Codex or Claude dispatch in the same failed run. The run must still identify its failed implementation task and retained workspace. Recovery preserves the run ID, source, earlier task receipts, repair budget and spent verification grants. It keeps the original provider and configuration by default; it does not change workers or repeat a verification handoff. @@ -136,6 +140,32 @@ The Python SDK offers `provider_recovery_allowance_candidate`, `reserve_provider If the browser's saved request is lost, the run's native allowance identity still provides **Read existing reservation**. This performs only an exact receipt read under the original administrator's current authority. Studio validates the returned operator, protocol, run and task bindings without claiming that the request body was previously saved locally. A missing or refused receipt stays unresolved; this path cannot reserve another attempt. +### Grant scoped configured checks to an official CLI + +An eligible final provider recovery can carry a separate native administrator grant for `run_configured_check(command_index, request_id)`. This ephemeral coding MCP channel is distinct from the operator MCP server. It exposes only selected retained configured commands, with their frozen arguments and timeouts; it grants no arbitrary command, operator API, publication, deployment or broader network access. + +General role tools remain advisory for official CLIs. Codex keeps `workspace-write` and global `approval_policy="never"`. For the already granted channel, the adapter sets `approval_mode="approve"` only on `run_configured_check`. Configured checks may write files and still pass through the native grant, runner and source checks. Claude receives an explicit private, strict MCP configuration. Adapter fixtures alone do not establish live provider or product acceptance. + +#### Review and bind the grant + +Preallocate the future recovery request ID, then read `GET /api/v1/runs/{run_id}/coding-check-grants/candidate` with that `recovery_request_id` and an explicit `bind_port` (zero selects an ephemeral loopback port). Review the returned commands, runner descriptor, source and authority fingerprints, final-check count and remaining shared budget. + +An administrator may POST the strict `CodingCheckGrantInput` to the same collection. Its separate grant request ID must remain unchanged after uncertain delivery: GET `/{request_id}` to read the original receipt, and GET `/current` to check current revision, revocation and expiry. The current `receipt_digest` matches the opaque seal returned with the immutable grant receipt; clients compare it without reserializing numbers or recomputing a hash. + +After confirming the grant, refresh the final-allowance candidate because the journal advanced. Reserve with the original preallocated recovery request ID and explicit `coding_check_grant_id`; never fall back to a legacy CLI-only reservation if this linked flow is refused. Grant creation alone neither reserves another dispatch nor changes old snapshots. POST `/coding-check-grants/revocations` with its own request ID, exact grant ID and expected revision to revoke. Repeated original requests return their retained receipts; another request identity cannot bypass an uncertain effect. + +#### Keep execution and verification separate + +The grant counts new check invocations, not distinct indices. A new request can check a legitimately edited source again within the call cap; exact known readback consumes no command budget, and an old result cannot represent a new source. The grant cap is bounded by requested calls and shared command capacity remaining after independent final checks. No runner budget resets or final-QA guarantees are introduced. + +Current native actor, lease, task, grant and source are rechecked around credential admission and before runner effects; uncertainty or expiry after an effect retains a reconciliation hold. These checks do not make filesystem mutations atomic against unrelated processes. + +The channel listens only on literal loopback, with one invocation token, exact origin/host checks and an expiry no later than the selected provider deadline. A fixed port is a separately reviewed capability choice, not permission to open every local port or change the CLI network sandbox. Accepted commands retain their existing timeout and drain before channel teardown. Tokens are scoped in memory through source/evidence admission and are redacted before activity retention; they never enter command arguments or saved provider configuration. Host runners remain trusted service-account execution with timeout/output controls, not filesystem or network isolation. + +#### Use the SDK or CLI + +The Python SDK provides `coding_check_candidate`, `grant_coding_checks`, `coding_check_receipt`, `coding_check_current` and `revoke_coding_checks`. The equivalent CLI group is `forge coding-check-grants`, with `candidate`, `grant`, `get`, `current` and `revoke`; write commands consume an explicitly reviewed JSON document. + ### Review the final allowance in Studio Open the failed run, select **Plan**, then choose **Review final allowance**. The server supplies the current candidate and checks native process evidence and administrator authority. These screenshots use controlled HTTP fixtures. They illustrate the review and readback controls without running a CLI or establishing a successful recovery. Screenshots follow the documentation's light or dark appearance; select one to open it at full size. @@ -199,6 +229,83 @@ After submission, **Check saved reservation** reads the exact receipt. A pending +### Grant configured checks for the final recovery + +Native administrators can choose **Prepare recovery with configured checks** in the Plan tab. This is a separate flow from CLI-only recovery. It gives the coding agent one scoped tool for selected, retained check commands; it does not add general command permissions or change the original runner policy. + +1. **Review configured checks.** Read each command and its timeout, choose the checks, and inspect the runner and source fingerprints. The budget separates interactive check capacity from independent final verification. A host runner uses the forge service account and enforces timeout and output limits; it does not provide filesystem, CPU, memory or network isolation. Under **Advanced connection**, leave the loopback port at `0` for automatic selection or choose `1024–65535`. +2. **Grant selected checks.** Set a maximum number of calls, a lifetime of 30–3600 seconds, and a reason. A selected check may be called again within those limits. Granting access does not start a command or reserve a provider dispatch. Studio saves the exact grant body and future recovery request ID before sending the grant once. +3. **Review the mitigation.** Read the confirmed grant and its current expiry. Studio refreshes the final allowance candidate after the grant is recorded. Review the source, current CLI and native fourth-attempt failure, record the mitigation and its evidence fingerprint, and explicitly adopt that CLI. The fingerprint is an administrative attestation, not a server-verified QA result. +4. **Reserve the final attempt.** Review the grant and the same future recovery request ID, acknowledge the one-use limit, then reserve explicitly. The reservation includes the grant ID. There is no automatic second POST, CLI-only fallback or sixth dispatch. Independent configured and policy checks remain subject to the existing final-verification limit of 20 and the retained shared command budget. + +An immutable grant receipt records what was granted. Its matching current revision, receipt fingerprint and unexpired status must also be confirmed before reservation; an old receipt cannot establish current authority. Permission loss, revocation, expiry or changed execution authority holds the flow. + +If its browser record has been removed, Studio checks the current server grant before preparing another identity. An existing, expired, revoked or unconfirmed grant holds this wizard for review of the original retained identity; it does not create a replacement. + +After a lost response, use **Check saved grant** or **Check saved final reservation**. These actions read the exact saved identity without repeating either POST. Closing the wizard, reloading or switching tabs does not authorize a replacement request. Check outcomes in the execution record: a grant, reserved dispatch or successful interactive check does not establish product acceptance. + + + ## Inspect a factory verification handoff A pending implementation request with typed `kind: "verification"` can use the run's frozen automatic-verification grant. forge executes all explicit approved commands through the existing authorized runner. It records each intent and known result before supplying protected factory feedback and admitting a bounded continuation. Question text and request IDs never choose commands or expand permissions. diff --git a/docs/release-notes.md b/docs/release-notes.md index bee1a59ce..2dac4a9e7 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -5,6 +5,30 @@ description: Review firefly forge release changes, runtime requirements and the # firefly forge release notes +## 0.2.30 + +Studio now shows observed Codex MCP activity as a readable tool card: server, tool, reported status and a bounded text preview. The known configured-check call is labeled **Run configured project check**, with its exact identity under **Tool identity**. Unknown tools keep their bounded server and tool names. A provider-reported completion or exit code remains separate from native runner receipts and independent final verification. + +Unsupported arguments and structured result objects stay in the full retained event. Reading that event still requires an explicit action and the existing current-access, integrity and archive-budget checks. Historical events are not backfilled. See [the evidence guide](run-evidence.md#read-complete-provider-activity). + +Repository feedback now labels verification retained from an earlier attempt before showing its totals. Results matched to the recovery attempt are labeled separately; incomplete attempt identity stays unconfirmed. Queueing a recovery does not turn earlier checks into current success. Existing delivered comments, fingerprints and uncertain-write holds stay unchanged. See [repository replies](scm.md#6-inspect-the-reply-and-preserve-unknown-outcomes). + +The new walkthrough uses actual redacted messages from an official Codex 0.163 finite, model-free client check inside controlled API wrappers. Those messages and display tests do not establish paid provider inference or generated-product acceptance. No execution budget, recovery authority or MCP tool grant changes in this release. + +## 0.2.29 + +An administrator can grant an eligible official-CLI recovery access to selected checks already retained on the run. The separate coding MCP channel exposes only `run_configured_check(command_index, request_id)`. Arguments, timeout, runner policy and shared budget come from the original run; the coding agent cannot submit a new command. A host runner still uses the worker's service account and does not provide filesystem or network isolation. + +Studio separates check review, the explicit grant, mitigation review and final reservation. Before the grant POST it retains both the exact body and the future recovery request ID. It then confirms the original receipt and current revision, opaque receipt fingerprint and expiry. The final reservation uses that same recovery identity and grant ID. Lost responses permit exact reads, not replacement POSTs. Missing browser state and an existing server grant hold the wizard for review. See [the guided recovery journey](recovery.md#grant-configured-checks-for-the-final-recovery). + +Each new check call uses current native authority, lease, grant and source checks before runner effects. Known results retain their source and exact request; unknown effects require reconciliation. A bounded rerun after an implementation edit does not reuse an earlier source's success. Independent final verification capacity remains separate, and neither the grant nor a check result establishes product acceptance. Legacy CLI-only recovery keeps its four-attempt bound, and the final allowance still permits one fifth dispatch with no sixth or budget reset. + +The SDK and `forge coding-check-grants` group provide explicit candidate, grant, receipt, current-status and revocation operations. Codex and Claude adapters use an invocation-scoped, loopback-only channel with a short-lived token and fixed tool selection. Tokens stay out of command arguments and retained activity. The 162 operator MCP tools remain separate; the versioned Agentic catalog now contains 260 resources. See [the execution boundary](architecture.md#scoped-configured-check-execution) and [client operations](agent-integrations.md#grant-check-access-to-a-coding-recovery). + +`forge serve` explicitly uses the stdlib asyncio event loop. A known uvloop host with a finite POSIX file-size limit is refused before trusted CLI dispatch intent or process creation, since the verified uvloop subprocess path resets an inherited ignored `SIGXFSZ`. External ASGI hosts must select asyncio too. The kernel limit and all spent tasks and reservations remain unchanged. This correction establishes no generated-product acceptance; see [file-size failure recovery](recovery.md#recover-a-known-failed-official-cli-attempt). + +Native PostgreSQL/API/runner fixtures, cross-language reader checks and controlled Studio captures qualify these contracts. They do not by themselves establish live official-CLI MCP execution or a completed CRM. The walkthrough screenshots are labeled fixtures. + ## 0.2.28 A current native factory administrator can reserve one final fifth Codex or Claude dispatch after a known fourth-attempt process failure. The process must have terminated, drained its streams and left no process group. Reservation seals the allowance, linked admission and implementation intent in one WAL transaction. It spends the allowance immediately, even when the response is lost or dispatch never starts. Changed source, executable or current authority prevents launch; this contract provides no sixth attempt. diff --git a/docs/run-evidence.md b/docs/run-evidence.md index 2fb6a127f..bbd762066 100644 --- a/docs/run-evidence.md +++ b/docs/run-evidence.md @@ -44,6 +44,26 @@ The WAL retains its original payloads and chain hashes. Activity and task rows c New stdout and stderr events retain a short preview and, for recognized provider JSON, a typed activity summary. Codex command records show their observed exit code and output. Claude records distinguish text, tool requests, reported tool results and final provider reports. **Read full recorded event** retrieves the retained sanitized message explicitly. Factory verification and product acceptance have their own records. +Codex MCP cards name the server and tool and show whether the provider reported an in-progress call, completion or failure. A bounded text preview and a reported exit code appear when the event supplies them. Completion is a provider report; it does not establish a native runner receipt or product QA. Arbitrary tool arguments and unsupported structured results stay in the full retained event. The native journal labels the separately governed `coding_configured_check` tool **Run configured project check**. + +
+ +
+ +![Codex MCP activity with a human tool title, reported status and bounded output on desktop.](assets/screenshots/activity-codex-mcp-desktop-light.png) + +
Actual redacted finite-client messages, displayed through controlled API fixtures. Reported exit 0 does not establish a native runner receipt or product acceptance.
+
+ +
+ +![The same reported MCP activity in the mobile dark theme, with tool identity collapsed.](assets/screenshots/activity-codex-mcp-mobile-dark.png) + +
The exact tool identity is available separately. The preview preserves provider text; reading the full retained event requires an explicit action.
+
+ +
+ Claude tool requests name the requested tool and show a Bash command preview when available. A request does not prove that a tool ran. Tool-result cards show the provider's reported result or error without deriving an exit code, and keep the original call ID under **Tool call identity**. forge does not infer a tool name from another event. A successful final provider report supplies no factory QA approval. A Claude message can contain several content blocks. Studio displays up to four bounded blocks and states how many blocks were omitted from the preview. When the archive retained the full event, you can read those blocks there. An archive-limit notice means only the preview was retained. Tool input objects, attachments and unsupported block formats stay in the retained event. Unknown, malformed or oversized JSON previews receive a short generic card; plain text logs remain readable. Full content is loaded only when requested and within its archive budget. These display rules recognize an observed JSON format; they do not authenticate the provider or replace a command receipt. diff --git a/docs/scm.md b/docs/scm.md index c31802796..fdde85a50 100644 --- a/docs/scm.md +++ b/docs/scm.md @@ -561,6 +561,8 @@ Pull-request conversations, bot accounts, issue bodies and edited comments canno The App posts feedback to the originating issue with the delivery receipt reference and original action result. Later feedback reports the current run status separately. A saved answer and a delivered comment are different outcomes. +For a provider recovery, read the attempt label before the check totals. **Previous-attempt verification** identifies an earlier factory handoff; **Current-attempt verification** requires a matching retained attempt identity. A handoff whose attempt cannot be confirmed stays labeled as retained history. Final-check summaries also identify retained results before their totals. A queued or developing recovery has not passed those earlier checks again. The labels change presentation, not historical receipts, delivery fingerprints or permission to repeat a write. + A current factory administrator can inspect `GET /api/v1/collaboration/receipts?repository_id=REPOSITORY_ID`, or call `ForgeClient.repository_receipts(repository_id)`. Check `status`, `action_status`, `feedback_status` and the associated run rather than treating an accepted receipt as completed execution. Project-reader polling/history routes do not grant access to this global administrative list. After a timeout, 403, 409 or missing exact configuration/consent receipt, retain the **same request ID and complete input**. Use the exact `configuration` or `binding` read. A missing receipt does not prove that no write occurred and does not authorize a new ID or automatic resend. An administrator can inspect current setup/heads while preserving the original operation. diff --git a/pyproject.toml b/pyproject.toml index d8c90f690..4245055ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "hatchling.build" [project] name = "firefly-forge" -version = "0.2.28" +version = "0.2.30" description = "Firefly software factory: brief to verified product with interchangeable coding agents" readme = "README.md" requires-python = ">=3.13" diff --git a/scripts/docs_scene_hook.py b/scripts/docs_scene_hook.py index fdc10bfff..22632b1bc 100644 --- a/scripts/docs_scene_hook.py +++ b/scripts/docs_scene_hook.py @@ -31,16 +31,20 @@ "studio/tests/agent-checkpoint-recovery-fixture.ts", "studio/tests/run-creation-cancellation-fixture.ts", "studio/tests/provider-activity-guide-fixture.json", + "studio/tests/provider-mcp-activity-guide-fixture.json", "studio/tests/scm-delegation-fixture.ts", "studio/tests/scm-delegation-contract-fixture.json", "studio/tests/scm-poll-resume-contract-fixture.json", "studio/tests/provider-recovery-allowance-fixture.ts", "studio/tests/provider-recovery-allowance-browser-fixture.ts", + "studio/tests/coding-check-grant-fixture.json", + "studio/tests/coding-check-recovery-browser-fixture.ts", } CAPTURE_PRODUCERS = { "studio/tests/docs-walkthrough.spec.ts", "studio/tests/external-tools.spec.ts", "studio/tests/docs-provider-allowance.spec.ts", + "studio/tests/docs-coding-check-recovery.spec.ts", } @@ -118,9 +122,20 @@ def _load_walkthrough(config, root=ROOT): } if stage.startswith("provider-allowance-") and stage not in allowance_stages: raise ValueError("Unknown final allowance capture stage: " + name) + coding_stages = { + "coding-check-scope", + "coding-check-grant", + "coding-check-mitigation", + "coding-check-review", + "coding-check-reserved", + } + if stage.startswith("coding-check-") and stage not in coding_stages: + raise ValueError("Unknown configured-check capture stage: " + name) expected_producer = ( "studio/tests/external-tools.spec.ts" if stage.startswith("external-") + else "studio/tests/docs-coding-check-recovery.spec.ts" + if stage in coding_stages else "studio/tests/docs-provider-allowance.spec.ts" if stage in allowance_stages else "studio/tests/docs-walkthrough.spec.ts" diff --git a/scripts/test_docs_scene_hook.py b/scripts/test_docs_scene_hook.py index 0a4e14e36..934140048 100644 --- a/scripts/test_docs_scene_hook.py +++ b/scripts/test_docs_scene_hook.py @@ -66,14 +66,18 @@ def test_shared_helper_config_and_each_producer_bind_the_exact_capture(self): "studio/tests/agent-checkpoint-recovery-fixture.ts": "fixture checkpoint recovery", "studio/tests/run-creation-cancellation-fixture.ts": "fixture request cancellation", "studio/tests/provider-activity-guide-fixture.json": "fixture Claude projection", + "studio/tests/provider-mcp-activity-guide-fixture.json": "fixture Codex MCP projection", "studio/tests/scm-delegation-fixture.ts": "fixture SCM routes", "studio/tests/scm-delegation-contract-fixture.json": "fixture SCM mapping", "studio/tests/scm-poll-resume-contract-fixture.json": "fixture polling consent", "studio/tests/provider-recovery-allowance-fixture.ts": "fixture native allowance", "studio/tests/provider-recovery-allowance-browser-fixture.ts": "fixture allowance routes", + "studio/tests/coding-check-grant-fixture.json": "fixture coding grant", + "studio/tests/coding-check-recovery-browser-fixture.ts": "fixture coding routes", "studio/tests/docs-walkthrough.spec.ts": "fixture console producer", "studio/tests/external-tools.spec.ts": "fixture MCP producer", "studio/tests/docs-provider-allowance.spec.ts": "fixture allowance producer", + "studio/tests/docs-coding-check-recovery.spec.ts": "fixture coding producer", "studio/playwright.docs.config.ts": "fixture capture config", } for name, content in paths.items(): @@ -112,11 +116,14 @@ def fingerprint(value): "studio/tests/agent-checkpoint-recovery-fixture.ts", "studio/tests/run-creation-cancellation-fixture.ts", "studio/tests/provider-activity-guide-fixture.json", + "studio/tests/provider-mcp-activity-guide-fixture.json", "studio/tests/scm-delegation-fixture.ts", "studio/tests/scm-delegation-contract-fixture.json", "studio/tests/scm-poll-resume-contract-fixture.json", "studio/tests/provider-recovery-allowance-fixture.ts", "studio/tests/provider-recovery-allowance-browser-fixture.ts", + "studio/tests/coding-check-grant-fixture.json", + "studio/tests/coding-check-recovery-browser-fixture.ts", ) } producers = {name: sha(root / name) for name in paths if name.endswith(".spec.ts")} @@ -253,6 +260,24 @@ def save(): with self.assertRaisesRegex(ValueError, "stage.*producer"): hook._load_walkthrough({"docs_dir": str(docs)}, root) del manifest["captures"][allowance_name] + coding_name = "coding-check-review-mobile-light.png" + (asset.parent / coding_name).write_bytes(asset.read_bytes()) + coding_record = { + **record, + "stage": "coding-check-review", + "path": "assets/screenshots/" + coding_name, + "producer": "studio/tests/docs-coding-check-recovery.spec.ts", + } + coding_record["producer_sha256"] = producers[coding_record["producer"]] + manifest["captures"][coding_name] = coding_record + save() + hook._load_walkthrough({"docs_dir": str(docs)}, root) + coding_record["producer"] = "studio/tests/docs-provider-allowance.spec.ts" + coding_record["producer_sha256"] = producers[coding_record["producer"]] + save() + with self.assertRaisesRegex(ValueError, "stage.*producer"): + hook._load_walkthrough({"docs_dir": str(docs)}, root) + del manifest["captures"][coding_name] save() extra = root / "studio/src/New.tsx" extra.write_text("new frontend input") @@ -353,11 +378,14 @@ def test_rejects_a_changed_capture_or_frontend_source(self): "studio/tests/agent-checkpoint-recovery-fixture.ts", "studio/tests/run-creation-cancellation-fixture.ts", "studio/tests/provider-activity-guide-fixture.json", + "studio/tests/provider-mcp-activity-guide-fixture.json", "studio/tests/scm-delegation-fixture.ts", "studio/tests/scm-delegation-contract-fixture.json", "studio/tests/scm-poll-resume-contract-fixture.json", "studio/tests/provider-recovery-allowance-fixture.ts", "studio/tests/provider-recovery-allowance-browser-fixture.ts", + "studio/tests/coding-check-grant-fixture.json", + "studio/tests/coding-check-recovery-browser-fixture.ts", ] for name in operator_inputs: (root / name).parent.mkdir(parents=True, exist_ok=True) @@ -366,6 +394,8 @@ def test_rejects_a_changed_capture_or_frontend_source(self): mcp_capture.write_text("fixture MCP producer") allowance_capture = root / "studio/tests/docs-provider-allowance.spec.ts" allowance_capture.write_text("fixture allowance producer") + coding_capture = root / "studio/tests/docs-coding-check-recovery.spec.ts" + coding_capture.write_text("fixture coding producer") capture_config = root / "studio/playwright.docs.config.ts" capture_config.write_text("fixture capture config") @@ -385,6 +415,7 @@ def sha(path): "studio/tests/docs-walkthrough.spec.ts": sha(capture), "studio/tests/external-tools.spec.ts": sha(mcp_capture), "studio/tests/docs-provider-allowance.spec.ts": sha(allowance_capture), + "studio/tests/docs-coding-check-recovery.spec.ts": sha(coding_capture), }, "capture_helpers": { "studio/tests/walkthrough-capture.ts": sha(helper), diff --git a/src/firefly_forge/__init__.py b/src/firefly_forge/__init__.py index d102c1db7..e9f08058f 100644 --- a/src/firefly_forge/__init__.py +++ b/src/firefly_forge/__init__.py @@ -1,4 +1,4 @@ # Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 """firefly forge software factory.""" -__version__ = "0.2.28" +__version__ = "0.2.30" diff --git a/src/firefly_forge/activity_codex_mcp.py b/src/firefly_forge/activity_codex_mcp.py new file mode 100644 index 000000000..435a43aa8 --- /dev/null +++ b/src/firefly_forge/activity_codex_mcp.py @@ -0,0 +1,68 @@ +# Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 +"""Display observed Codex MCP metadata without asserting native execution authority.""" + +from __future__ import annotations + +import re +from typing import Any + +from firefly_forge.activity_models import _preview + +Data = dict[str, Any] + + +def codex_mcp_summary(event: Data) -> Data | None: + kind, item = event.get("type"), event.get("item") + if kind not in ("item.started", "item.updated", "item.completed") or not isinstance(item, dict): + return None + if item.get("type") != "mcp_tool_call": + return None + for key, limit in (("id", 128), ("server", 64), ("tool", 64)): + value = item.get(key) + if not isinstance(value, str) or not re.fullmatch(r"[A-Za-z0-9_.:-]{1," + str(limit) + "}", value): + return None + status = item.get("status") + if status not in ("in_progress", "completed", "failed"): + return None + if (kind == "item.started" and status != "in_progress") or (kind == "item.completed" and status == "in_progress"): + return None + if not isinstance(item.get("arguments"), dict): + return None + if any(item.get(key) is not None and not isinstance(item[key], dict) for key in ("result", "error")): + return None + summary: Data = dict( + provider="codex", + event_type=kind, + item_type="mcp_tool_call", + item_id=item["id"], + tool_server=item["server"], + tool_name=item["tool"], + tool_status=status, + preview_omitted=True, + ) + if kind != "item.completed": + return summary + result, error = item.get("result") or {}, item.get("error") or {} + structured = result.get("structured_content") + structured = structured if isinstance(structured, dict) else {} + output = error.get("message") if status == "failed" else structured.get("output") + if status == "completed": + exit_code = structured.get("exit_code") + if type(exit_code) is int and -2147483648 <= exit_code <= 2147483647: + summary["tool_exit_code"] = exit_code + if not isinstance(output, str): + content = result.get("content") + if ( + isinstance(content, list) + and 1 <= len(content) <= 4 + and all( + isinstance(part, dict) and part.get("type") == "text" and isinstance(part.get("text"), str) + for part in content + ) + ): + text = "\n".join(part["text"] for part in content) + if not text.lstrip().startswith(("{", "[")): + output = text + if isinstance(output, str): + summary["output_preview"] = _preview(output, 768) + return summary diff --git a/src/firefly_forge/activity_models.py b/src/firefly_forge/activity_models.py index 148bcf0ab..2273b0d12 100644 --- a/src/firefly_forge/activity_models.py +++ b/src/firefly_forge/activity_models.py @@ -73,8 +73,11 @@ class ActivitySummary(_Strict): command_preview: str | None = None output_preview: str | None = None exit_code: int | None = Field(default=None, ge=-2147483648, le=2147483647) - provider: Literal["claude"] | None = None + provider: Literal["claude", "codex"] | None = None tool_name: str | None = Field(default=None, pattern=r"^[A-Za-z0-9_.:-]{1,64}$") + tool_server: str | None = Field(default=None, pattern=r"^[A-Za-z0-9_.:-]{1,64}$") + tool_status: Literal["in_progress", "completed", "failed"] | None = None + tool_exit_code: int | None = Field(default=None, ge=-2147483648, le=2147483647) tool_outcome: Literal["reported_result", "reported_error"] | None = None content_blocks: list[ActivityContentBlock] | None = Field(default=None, min_length=1, max_length=4) omitted_blocks: int | None = Field(default=None, ge=0, le=64) @@ -120,6 +123,14 @@ def _summary(message: str, raw: bytes) -> Data | None: return None if not isinstance(event, dict): return None + if isinstance(event.get("item"), dict) and event["item"].get("type") == "mcp_tool_call": + from firefly_forge.activity_codex_mcp import codex_mcp_summary + + mcp_values = codex_mcp_summary(event) + if mcp_values is None: + return None + mcp_values.update(sanitized_message_bytes=len(raw), sanitized_message_sha256=hashlib.sha256(raw).hexdigest()) + return ActivitySummary.model_validate(mcp_values).model_dump(exclude_none=True) if event.get("type") in ("assistant", "user", "result"): from firefly_forge.activity_claude import claude_summary diff --git a/src/firefly_forge/api.py b/src/firefly_forge/api.py index 68c0feb4d..69996cb6f 100644 --- a/src/firefly_forge/api.py +++ b/src/firefly_forge/api.py @@ -67,6 +67,8 @@ from firefly_forge.channel_controllers import ChannelController from firefly_forge.cloud import CloudRecipes from firefly_forge.cloud_controllers import CloudController +from firefly_forge.coding_check_controllers import CodingCheckGrantController +from firefly_forge.coding_check_grants import CodingCheckGrants from firefly_forge.collaboration import Collaboration from firefly_forge.collaboration_controllers import CollaborationController from firefly_forge.collaboration_persistence import ( @@ -644,6 +646,12 @@ def provider_recoveries(self, store: Store, journal: Journal, engine: Engine) -> def provider_recovery_allowances(self, recoveries: ProviderRecoveries) -> ProviderRecoveryAllowances: return ProviderRecoveryAllowances(recoveries) + @bean + def coding_check_grants(self, recoveries: ProviderRecoveries) -> CodingCheckGrants: + grants = CodingCheckGrants(recoveries) + recoveries.engine.coding_checks = grants + return grants + @bean def assurance(self, store: Store, journal: Journal) -> Assurance: return Assurance(store, self.data_dir / "reviews", journal) @@ -1154,6 +1162,7 @@ class Application: VerificationHandoffController, ProviderRecoveryController, ProviderRecoveryAllowanceController, + CodingCheckGrantController, BridgeCompletionController, RunEvidenceController, ActivityContentController, diff --git a/src/firefly_forge/cli.py b/src/firefly_forge/cli.py index 7a34b365e..73161e0b6 100644 --- a/src/firefly_forge/cli.py +++ b/src/firefly_forge/cli.py @@ -52,7 +52,7 @@ def serve(host: str, port: int, data_dir: Path | None, role: str | None) -> None app = create_application(data_dir, role=RuntimeRoleConfig.model_validate({"role": role}).role if role else None) except ValueError as exc: raise click.ClickException(str(exc)) from exc - uvicorn.run(app, host=host, port=port) + uvicorn.run(app, host=host, port=port, loop="asyncio") @main.command() @@ -1927,3 +1927,49 @@ def read_activity_content(run_id: str, event_id: str, expected_descriptor: str, run_id, event_id, {"expected_descriptor": expected_descriptor, "chunk": chunk} ) ) + + +@main.group("coding-check-grants") +def coding_check_grants() -> None: + """Review explicit configured-check authority, separate from a recovery allowance.""" + + +@coding_check_grants.command("candidate") +@click.argument("run_id") +@click.argument("recovery_request_id") +@click.option("--bind-port", type=click.IntRange(0, 65535), default=0) +def coding_check_candidate(run_id: str, recovery_request_id: str, bind_port: int) -> None: + with client() as connection: + display(connection.coding_check_candidate(run_id, recovery_request_id, bind_port=bind_port)) + + +@coding_check_grants.command("grant") +@click.argument("run_id") +@click.argument("document", type=click.Path(exists=True, dir_okay=False, path_type=Path)) +def grant_coding_checks(run_id: str, document: Path) -> None: + """Submit the reviewed original grant once; a lost reply requires exact readback.""" + with client() as connection: + display(connection.grant_coding_checks(run_id, json_document(document))) + + +@coding_check_grants.command("get") +@click.argument("run_id") +@click.argument("request_id") +def coding_check_receipt(run_id: str, request_id: str) -> None: + with client() as connection: + display(connection.coding_check_receipt(run_id, request_id)) + + +@coding_check_grants.command("current") +@click.argument("run_id") +def coding_check_current(run_id: str) -> None: + with client() as connection: + display(connection.coding_check_current(run_id)) + + +@coding_check_grants.command("revoke") +@click.argument("run_id") +@click.argument("document", type=click.Path(exists=True, dir_okay=False, path_type=Path)) +def revoke_coding_checks(run_id: str, document: Path) -> None: + with client() as connection: + display(connection.revoke_coding_checks(run_id, json_document(document))) diff --git a/src/firefly_forge/client.py b/src/firefly_forge/client.py index 7bf907733..634382c45 100644 --- a/src/firefly_forge/client.py +++ b/src/firefly_forge/client.py @@ -22,6 +22,7 @@ from firefly_forge.assistant_attachments import AttachmentInput from firefly_forge.campaign_delivery_plan_models import CampaignDeliveryPlanInput from firefly_forge.campaign_report_history import CampaignReportArchiveInput + from firefly_forge.coding_check_models import CodingCheckGrantInput, CodingCheckRevocationInput from firefly_forge.model_profiles import ModelProfileInput from firefly_forge.product_assistant import AssistantRecoveryInput, AssistantTurnInput from firefly_forge.product_lifecycle import FeatureChangeInput @@ -123,6 +124,52 @@ def provider_recovery_allowance(self, run_id: str, request_id: str) -> dict[str, run_id, request_id = self._recovery_identifier(run_id), self._recovery_identifier(request_id) return dict(self.request("GET", f"runs/{run_id}/provider-recoveries/allowances/{request_id}")) + def coding_check_candidate(self, run_id: str, recovery_request_id: str, *, bind_port: int = 0) -> dict[str, Any]: + run_id = self._recovery_identifier(run_id) + recovery_request_id = self._recovery_identifier(recovery_request_id) + if type(bind_port) is not int or not (bind_port == 0 or 1024 <= bind_port <= 65535): + raise ValueError("Use the explicitly reviewed unprivileged loopback port or zero") + return dict( + self.request( + "GET", + f"runs/{run_id}/coding-check-grants/candidate", + params={ + "recovery_request_id": recovery_request_id, + "bind_port": bind_port, + }, + ) + ) + + def grant_coding_checks(self, run_id: str, request: CodingCheckGrantInput | dict[str, Any]) -> dict[str, Any]: + """Submit the reviewed original grant once; uncertain delivery requires exact receipt readback.""" + from firefly_forge.coding_check_models import CodingCheckGrantInput + + run_id = self._recovery_identifier(run_id) + return dict( + self.request( + "POST", f"runs/{run_id}/coding-check-grants", json=self._recovery_body(CodingCheckGrantInput, request) + ) + ) + + def coding_check_receipt(self, run_id: str, request_id: str) -> dict[str, Any]: + run_id, request_id = self._recovery_identifier(run_id), self._recovery_identifier(request_id) + return dict(self.request("GET", f"runs/{run_id}/coding-check-grants/{request_id}")) + + def coding_check_current(self, run_id: str) -> dict[str, Any]: + return dict(self.request("GET", f"runs/{self._recovery_identifier(run_id)}/coding-check-grants/current")) + + def revoke_coding_checks(self, run_id: str, request: CodingCheckRevocationInput | dict[str, Any]) -> dict[str, Any]: + from firefly_forge.coding_check_models import CodingCheckRevocationInput + + run_id = self._recovery_identifier(run_id) + return dict( + self.request( + "POST", + f"runs/{run_id}/coding-check-grants/revocations", + json=self._recovery_body(CodingCheckRevocationInput, request), + ) + ) + def request_run_creation(self, request_id: str, request: RunCreationInput | dict[str, Any]) -> dict[str, Any]: """Submit one retained version-1 envelope; uncertain delivery never selects a follow-up action.""" from firefly_forge.run_creation_models import RunCreationInput diff --git a/src/firefly_forge/coding_check_controllers.py b/src/firefly_forge/coding_check_controllers.py new file mode 100644 index 000000000..a60a4934e --- /dev/null +++ b/src/firefly_forge/coding_check_controllers.py @@ -0,0 +1,51 @@ +# Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 +"""Separate administrator review and immutable configured-check grant receipts.""" + +from pyfly.container import rest_controller +from pyfly.web import Body, PathVar, QueryParam, get_mapping, post_mapping, request_mapping + +from firefly_forge.coding_check_grants import CodingCheckGrants +from firefly_forge.coding_check_models import ( + CodingCheckCandidate, + CodingCheckCurrentStatus, + CodingCheckGrantInput, + CodingCheckGrantReceipt, + CodingCheckRevocationInput, + CodingCheckRevocationReceipt, +) + + +@rest_controller +@request_mapping("/api/v1/runs/{run_id}/coding-check-grants") +class CodingCheckGrantController: + def __init__(self, grants: CodingCheckGrants) -> None: + self.grants = grants + + @get_mapping("/candidate") + async def candidate( + self, run_id: PathVar[str], recovery_request_id: QueryParam[str], bind_port: QueryParam[int] = 0 + ) -> CodingCheckCandidate: + return CodingCheckCandidate.model_validate(await self.grants.candidate(run_id, recovery_request_id, bind_port)) + + @get_mapping("/current") + async def current(self, run_id: PathVar[str]) -> CodingCheckCurrentStatus: + return CodingCheckCurrentStatus.model_validate(await self.grants.status(run_id)) + + @post_mapping("", status_code=201) + async def grant(self, run_id: PathVar[str], body: Body[CodingCheckGrantInput]) -> CodingCheckGrantReceipt: + return CodingCheckGrantReceipt.model_validate(await self.grants.grant(run_id, body)) + + @post_mapping("/revocations", status_code=201) + async def revoke( + self, run_id: PathVar[str], body: Body[CodingCheckRevocationInput] + ) -> CodingCheckRevocationReceipt: + return CodingCheckRevocationReceipt.model_validate(await self.grants.revoke(run_id, body)) + + @get_mapping("/{request_id}") + async def receipt( + self, run_id: PathVar[str], request_id: PathVar[str] + ) -> CodingCheckGrantReceipt | CodingCheckRevocationReceipt: + value = await self.grants.get(run_id, request_id) + if "candidate" in value: + return CodingCheckGrantReceipt.model_validate(value) + return CodingCheckRevocationReceipt.model_validate(value) diff --git a/src/firefly_forge/coding_check_grants.py b/src/firefly_forge/coding_check_grants.py new file mode 100644 index 000000000..168994532 --- /dev/null +++ b/src/firefly_forge/coding_check_grants.py @@ -0,0 +1,309 @@ +# Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 +"""Explicit native administrator authority for one scoped coding-check invocation.""" + +from __future__ import annotations + +import copy +import time +from typing import Any + +from pyfly.container import service + +from firefly_forge.coding_check_models import ( + CodingCheckCandidate, + CodingCheckCurrentStatus, + CodingCheckGrantInput, + CodingCheckGrantReceipt, + CodingCheckRevocationInput, + CodingCheckRevocationReceipt, +) +from firefly_forge.journal import digest +from firefly_forge.models import Command +from firefly_forge.policies import policy_commands +from firefly_forge.project_access import CURRENT_PRINCIPAL, AccessDenied, ProjectAccess +from firefly_forge.provider_recoveries import ProviderRecoveries +from firefly_forge.provider_recovery_allowances import allowance_key +from firefly_forge.sandbox_models import validate_sandbox_snapshot +from firefly_forge.store import identifier + +Data = dict[str, Any] +PROTOCOL = "native-coding-configured-check-v1" + + +def clock_ms() -> int: + return int(time.time() * 1000) + + +def stable_cut(cut: Data, run: Data) -> Data: + # Implementation edits and native index preparation are permitted; authority and Git history are not. + return { + **{key: value for key, value in cut.items() if key not in {"source_digest", "index_digest"}}, + "sandbox_digest": digest(run.get("sandbox_snapshot") or {}), + } + + +@service +class CodingCheckGrants: + def __init__(self, recoveries: ProviderRecoveries) -> None: + self.recoveries = recoveries + recoveries.coding_checks = self + + @staticmethod + def actor_snapshot(actor: Any) -> Data: + return { + **ProjectAccess.actor_snapshot(actor), + "identity_digest": digest({"issuer": actor.issuer, "subject": actor.subject}), + } + + async def _candidate(self, run: Data, recovery_request_id: str, bind_port: int = 0) -> Data: + r = self.recoveries + recovery = await r._candidate(run, run["agent"], adopt_current_executable=True, final_allowance=True) + if r.engine.sandbox is None: + raise ValueError("Configured coding checks require the native sandbox executor") + commands = [Command.model_validate(value).model_dump() for value in run.get("commands", [])] + if not commands: + raise ValueError("Configured coding checks require retained verification commands") + configuration = validate_sandbox_snapshot(run["sandbox_snapshot"]) + used = len(await r.journal.sandbox_executions(run["id"])) + remaining = max(0, configuration.command_limit - used) + final_count = len(commands) + len(policy_commands(run.get("policy_snapshot", {}), run["backend"])) + if final_count > 20 or remaining < final_count: + raise ValueError("Remaining shared command budget cannot cover final configured verification") + state = run.get("coding_check_grant") or {} + value = dict( + version=1, + protocol=PROTOCOL, + run_id=run["id"], + agent=run["agent"], + recovery_request_id=recovery_request_id, + task_key=allowance_key(run["id"], recovery_request_id), + task_attempt=recovery["next_attempt"], + revision=state.get("revision", 0), + actor_digest=recovery["operator_digest"], + cut=stable_cut(recovery["cut"], run), + source_digest=recovery["cut"]["source_digest"], + command_indices=list(range(len(commands))), + command_count=len(commands), + commands=[{"command_index": index, **command} for index, command in enumerate(commands)], + runner=copy.deepcopy(run["sandbox_snapshot"]), + channel={"transport": "streamable_http", "host": "127.0.0.1", "bind_port": bind_port}, + independent_final_check_count=final_count, + shared_command_limit=configuration.command_limit, + shared_commands_used=used, + shared_commands_remaining=remaining, + interactive_commands_remaining=max(0, remaining - final_count), + journal_digest=recovery["journal_digest"], + ) + return CodingCheckCandidate.model_validate({**value, "digest": digest(value)}).model_dump() + + async def candidate(self, run_id: str, recovery_request_id: str, bind_port: int = 0) -> Data: + identifier(recovery_request_id) + if type(bind_port) is not int or not (bind_port == 0 or 1024 <= bind_port <= 65535): + raise ValueError("Use an explicitly reviewed unprivileged loopback port or zero") + r = self.recoveries + actor = await r._operator(run_id) + async with r._locked(run_id, self.actor_snapshot(actor)) as row: + value = await self._candidate(row.data, recovery_request_id, bind_port) + if CURRENT_PRINCIPAL.get() != actor: + raise AccessDenied("The configured-check operator changed") + r.store.reject_credentials(value) + return value + + async def _find(self, run_id: str, request_id: str, *, kind: str | None = None) -> Data: + entries = await self.recoveries._entries(run_id) + found = [ + entry + for entry in entries + if entry["idempotency_key"] == request_id + and entry["kind"] in ({kind} if kind else {"coding_check_grant", "coding_check_revocation"}) + ] + if len(found) != 1 or found[0]["payload"].get("protocol") != PROTOCOL: + raise ValueError("The original native configured-check receipt is unavailable") + return found[0] + + async def get(self, run_id: str, request_id: str) -> Data: + identifier(request_id) + r = self.recoveries + actor = await r._operator(run_id) + snapshot = self.actor_snapshot(actor) + async with r._locked(run_id, snapshot): + event = await self._find(run_id, request_id) + if event["payload"]["actor"] != snapshot: + raise AccessDenied("Only the original current administrator can read this grant receipt") + return copy.deepcopy(event["payload"]) + + async def grant(self, run_id: str, body: CodingCheckGrantInput) -> Data: + body = CodingCheckGrantInput.model_validate(body.model_dump()) + if body.request_id == body.recovery_request_id: + raise ValueError("The grant identity must be distinct from its future recovery request identity") + r = self.recoveries + actor = await r._operator(run_id) + snapshot, request = self.actor_snapshot(actor), body.model_dump() + await r.store.admit_credentials(request) + async with r._locked(run_id, snapshot) as row: + entries = await r._entries(run_id) + if any(e["kind"] == "coding_check_revocation" and e["idempotency_key"] == body.request_id for e in entries): + raise ValueError("The configured-check request identity already belongs to a revocation") + prior = [e for e in entries if e["kind"] == "coding_check_grant"] + repeated = next((e for e in prior if e["idempotency_key"] == body.request_id), None) + if repeated: + receipt = repeated["payload"] + if receipt["request"] != request or receipt["actor"] != snapshot: + raise ValueError("The original configured-check grant request changed") + return copy.deepcopy(receipt) + if len(prior) >= 20: + raise ValueError("Configured-check grant history is full") + state = row.data.get("coding_check_grant") or {} + if state.get("status") == "active": + raise ValueError("Revoke the current configured-check grant before replacing it") + candidate = await self._candidate(row.data, body.recovery_request_id, body.bind_port) + if body.expected_revision != candidate["revision"] or body.candidate_digest != candidate["digest"]: + raise ValueError("The reviewed configured-check candidate or revision changed") + if not set(body.command_indices) <= set(candidate["command_indices"]): + raise ValueError("Requested checks exceed the retained configured scope") + if CURRENT_PRINCIPAL.get() != actor: + raise AccessDenied("The configured-check operator changed before admission") + receipt = dict( + version=1, + protocol=PROTOCOL, + request=request, + actor=snapshot, + candidate=candidate, + revision=candidate["revision"] + 1, + call_limit=min(body.call_limit, candidate["interactive_commands_remaining"]), + expires_at_ms=clock_ms() + body.valid_seconds * 1000, + ) + if receipt["call_limit"] < 1: + raise ValueError("No interactive command capacity remains before independent final verification") + receipt["receipt_digest"] = digest(receipt) + receipt = CodingCheckGrantReceipt.model_validate(receipt).model_dump() + r.store.reject_credentials(receipt) + event = await r.journal._append(run_id, "implement", body.request_id, "coding_check_grant", receipt) + row.data = { + **row.data, + "coding_check_grant": { + "grant_id": body.request_id, + "revision": receipt["revision"], + "status": "active", + "event_digest": event["digest"], + }, + } + await r.store.run_records.save(row) + return copy.deepcopy(receipt) + + async def revoke(self, run_id: str, body: CodingCheckRevocationInput) -> Data: + body = CodingCheckRevocationInput.model_validate(body.model_dump()) + r = self.recoveries + actor = await r._operator(run_id) + snapshot, request = self.actor_snapshot(actor), body.model_dump() + await r.store.admit_credentials(request) + async with r._locked(run_id, snapshot) as row: + entries = await r._entries(run_id) + if any(e["kind"] == "coding_check_grant" and e["idempotency_key"] == body.request_id for e in entries): + raise ValueError("The configured-check request identity already belongs to a grant") + repeated = next( + ( + e + for e in entries + if e["kind"] == "coding_check_revocation" and e["idempotency_key"] == body.request_id + ), + None, + ) + if repeated: + if repeated["payload"]["request"] != request or repeated["payload"]["actor"] != snapshot: + raise ValueError("The original configured-check revocation changed") + return copy.deepcopy(repeated["payload"]) + state = row.data.get("coding_check_grant") or {} + if ( + state.get("grant_id") != body.grant_id + or state.get("revision") != body.expected_revision + or state.get("status") != "active" + ): + raise ValueError("The current configured-check grant revision changed") + if CURRENT_PRINCIPAL.get() != actor: + raise AccessDenied("The configured-check revocation operator changed") + receipt = dict( + version=1, protocol=PROTOCOL, request=request, actor=snapshot, revision=body.expected_revision + 1 + ) + receipt = CodingCheckRevocationReceipt.model_validate(receipt).model_dump() + await r.journal._append(run_id, "implement", body.request_id, "coding_check_revocation", receipt) + row.data = { + **row.data, + "coding_check_grant": {**state, "status": "revoked", "revision": receipt["revision"]}, + } + await r.store.run_records.save(row) + return receipt + + async def status(self, run_id: str) -> Data: + r = self.recoveries + actor = await r._operator(run_id) + async with r._locked(run_id, self.actor_snapshot(actor)) as row: + state = row.data.get("coding_check_grant") or {} + grant_id = state.get("grant_id") + event = await self._find(run_id, grant_id, kind="coding_check_grant") if grant_id else None + if event and event["payload"]["actor"] != self.actor_snapshot(actor): + raise AccessDenied("Only the original current administrator can read this grant authority") + expires = event["payload"]["expires_at_ms"] if event else None + status = state.get("status", "none") + if status == "active" and expires is not None and expires <= clock_ms(): + status = "expired" + return CodingCheckCurrentStatus.model_validate( + dict( + protocol=PROTOCOL, + run_id=run_id, + grant_id=grant_id, + revision=state.get("revision", 0), + status=status, + receipt_digest=event["payload"]["receipt_digest"] if event else None, + expires_at_ms=expires, + ) + ).model_dump() + + async def current(self, run: Data, grant_id: str) -> Data: + state = run.get("coding_check_grant") or {} + event = await self._find(run["id"], grant_id, kind="coding_check_grant") + receipt = event["payload"] + if ( + receipt.get("receipt_digest") + != digest({key: value for key, value in receipt.items() if key != "receipt_digest"}) + or state.get("grant_id") != grant_id + or state.get("status") != "active" + or state.get("revision") != receipt["revision"] + or state.get("event_digest") != event["digest"] + or receipt["expires_at_ms"] <= clock_ms() + ): + raise ValueError("The configured-check grant was revoked, replaced or expired") + return copy.deepcopy(receipt) + + async def bind_allowance(self, run: Data, body: Any, candidate: Data) -> None: + receipt = await self.current(run, body.coding_check_grant_id) + if ( + receipt["request"]["recovery_request_id"] != body.request_id + or receipt["candidate"]["task_key"] != allowance_key(run["id"], body.request_id) + or receipt["candidate"]["actor_digest"] != candidate["operator_digest"] + or receipt["candidate"]["cut"] != stable_cut(candidate["cut"], run) + ): + raise ValueError("The configured-check grant does not bind this allowance authority") + + async def assert_reserved(self, run_id: str, task_key: str) -> Data | None: + r = self.recoveries + initial = await r.store.get_run(run_id) + state = initial.get("provider_recovery") or {} + grant_id = state.get("coding_check_grant_id") + if not grant_id: + return None + async with r._locked(run_id, state["actor"]) as row: + return await self.validate_invocation(row.data, task_key) + + async def validate_invocation(self, run: Data, task_key: str) -> Data: + state = run.get("provider_recovery") or {} + receipt = await self.current(run, state["coding_check_grant_id"]) + if ( + state.get("task_key") != task_key + or state.get("request_id") != receipt["request"]["recovery_request_id"] + or state.get("attempt") != receipt["candidate"]["task_attempt"] + or state.get("actor") != receipt["actor"] + or stable_cut(self.recoveries._cut(run), run) != receipt["candidate"]["cut"] + ): + raise ValueError("The configured-check invocation authority changed") + return receipt diff --git a/src/firefly_forge/coding_check_models.py b/src/firefly_forge/coding_check_models.py new file mode 100644 index 000000000..0889fbaa1 --- /dev/null +++ b/src/firefly_forge/coding_check_models.py @@ -0,0 +1,138 @@ +# Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 +"""Only a retained configured-check index and request identity reach the coding tool.""" + +from typing import Annotated, Any, Literal + +from pydantic import BaseModel, ConfigDict, Field, field_validator + +from firefly_forge.models import Command + +CheckIndex = Annotated[int, Field(ge=0, le=19, strict=True)] + + +class ConfiguredCheckRequest(BaseModel): + model_config = ConfigDict(extra="forbid", strict=True, frozen=True, hide_input_in_errors=True) + + command_index: CheckIndex + request_id: str = Field(pattern=r"^[a-f0-9]{32}$") + + +class CodingCheckGrantInput(BaseModel): + model_config = ConfigDict(extra="forbid", strict=True, frozen=True, hide_input_in_errors=True) + + request_id: str = Field(pattern=r"^[a-f0-9]{32}$") + recovery_request_id: str = Field(pattern=r"^[a-f0-9]{32}$") + candidate_digest: str = Field(pattern=r"^[a-f0-9]{64}$") + expected_revision: int = Field(ge=0) + command_indices: list[CheckIndex] = Field(min_length=1, max_length=20) + call_limit: int = Field(ge=1, le=20) + valid_seconds: int = Field(ge=30, le=3600) + bind_port: int = Field(default=0, ge=0, le=65535) + reason: str = Field(min_length=1, max_length=2000) + + @field_validator("bind_port") + @classmethod + def loopback_port(cls, value: int) -> int: + if value != 0 and value < 1024: + raise ValueError("Use an ephemeral port or an explicitly reviewed unprivileged loopback port") + return value + + @field_validator("command_indices") + @classmethod + def distinct_indices(cls, value: list[int]) -> list[int]: + if len(value) != len(set(value)): + raise ValueError("Select each configured check at most once") + return value + + @field_validator("reason") + @classmethod + def nonempty_reason(cls, value: str) -> str: + if not value.strip(): + raise ValueError("Explain the explicit configured-check grant") + return value + + +class CodingCheckRevocationInput(BaseModel): + model_config = ConfigDict(extra="forbid", strict=True, frozen=True, hide_input_in_errors=True) + + request_id: str = Field(pattern=r"^[a-f0-9]{32}$") + grant_id: str = Field(pattern=r"^[a-f0-9]{32}$") + expected_revision: int = Field(ge=1) + reason: str = Field(min_length=1, max_length=2000) + + +class ConfiguredCheckReview(Command): + command_index: CheckIndex + + +class CodingCheckChannel(BaseModel): + model_config = ConfigDict(extra="forbid", strict=True, frozen=True) + transport: Literal["streamable_http"] + host: Literal["127.0.0.1"] + bind_port: int = Field(ge=0, le=65535) + + +class CodingCheckCandidate(BaseModel): + model_config = ConfigDict(extra="forbid", strict=True, frozen=True) + version: Literal[1] + protocol: Literal["native-coding-configured-check-v1"] + run_id: str + agent: Literal["codex", "claude"] + recovery_request_id: str + task_key: str + task_attempt: int + revision: int + actor_digest: str + cut: dict[str, Any] + source_digest: str + command_indices: list[CheckIndex] + command_count: int + commands: list[ConfiguredCheckReview] + runner: dict[str, Any] + channel: CodingCheckChannel + independent_final_check_count: int + shared_command_limit: int + shared_commands_used: int + shared_commands_remaining: int + interactive_commands_remaining: int + journal_digest: str + digest: str + + +class CodingCheckGrantReceipt(BaseModel): + model_config = ConfigDict(extra="forbid", strict=True, frozen=True) + version: Literal[1] + protocol: Literal["native-coding-configured-check-v1"] + request: CodingCheckGrantInput + actor: dict[str, Any] + candidate: CodingCheckCandidate + revision: int + call_limit: int + expires_at_ms: int + receipt_digest: str = Field(pattern=r"^[a-f0-9]{64}$") + + +class CodingCheckCurrentStatus(BaseModel): + model_config = ConfigDict(extra="forbid", strict=True, frozen=True) + protocol: Literal["native-coding-configured-check-v1"] + run_id: str + grant_id: str | None + revision: int + status: Literal["none", "active", "revoked", "expired"] + receipt_digest: str | None + expires_at_ms: int | None + + +class CodingCheckRevocationReceipt(BaseModel): + model_config = ConfigDict(extra="forbid", strict=True, frozen=True) + version: Literal[1] + protocol: Literal["native-coding-configured-check-v1"] + request: CodingCheckRevocationInput + actor: dict[str, Any] + revision: int + + +def configured_command(commands: list[dict[str, Any]], allowed: list[int], request: ConfiguredCheckRequest) -> Command: + if request.command_index not in allowed or request.command_index >= len(commands): + raise ValueError("The check index is outside the granted configured scope") + return Command.model_validate(commands[request.command_index]).model_copy(deep=True) diff --git a/src/firefly_forge/coding_check_runtime.py b/src/firefly_forge/coding_check_runtime.py new file mode 100644 index 000000000..b6aae857e --- /dev/null +++ b/src/firefly_forge/coding_check_runtime.py @@ -0,0 +1,197 @@ +# Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 +"""Source-bound configured checks through the existing native tool broker and runner.""" + +from __future__ import annotations + +import asyncio +import copy +import json +import time +import uuid +from typing import Any + +from firefly_forge.coding_check_grants import CodingCheckGrants +from firefly_forge.coding_check_models import ConfiguredCheckRequest, configured_command +from firefly_forge.journal import digest +from firefly_forge.policies import policy_commands +from firefly_forge.sandbox_models import validate_sandbox_snapshot +from firefly_forge.store import identifier, now +from firefly_forge.tool_broker import ToolReconciliationRequired, frozen_policy +from firefly_forge.tool_persistence import ForgeToolInvocationEntity +from firefly_forge.verification_models import verification_source + +Data = dict[str, Any] +TOOL = "coding_configured_check" + + +def bounded_check_output(value: str, limit: int) -> str: + if limit <= 0: + return "" + return value.encode("utf-8")[-limit:].decode("utf-8", errors="ignore") + + +def bounded_check_result(metadata: Data, output: str, maximum: int) -> Data: + value = {**metadata, "output": ""} + overhead = len(json.dumps(value).encode()) + if overhead > maximum: + raise ValueError("Configured-check receipt metadata exceeds the frozen result bound") + limit = min(32000, maximum - overhead) + value["output"] = bounded_check_output(output, limit) + while len(json.dumps(value).encode()) > maximum: + limit //= 2 + value["output"] = bounded_check_output(output, limit) + return value + + +class ConfiguredCheckInvocation: + def __init__(self, grants: CodingCheckGrants, run_id: str, task_key: str) -> None: + self.grants, self.run_id, self.task_key = grants, run_id, task_key + self.recoveries = grants.recoveries + self.engine = self.recoveries.engine + self.store, self.journal = self.recoveries.store, self.recoveries.journal + self.broker = self.engine.tool_broker + if self.broker is None or self.engine.sandbox is None: + raise ValueError("Scoped coding checks require the native tool broker and sandbox executor") + self.lock = asyncio.Lock() + + async def guard(self, *, source: str | None = None) -> tuple[Data, Data, str]: + await self.store.assert_ownership() + initial = await self.store.get_run(self.run_id) + state = initial.get("provider_recovery") or {} + async with self.recoveries._locked(self.run_id, state["actor"]) as row: + receipt = await self.grants.validate_invocation(row.data, self.task_key) + task = await self.journal._task(self.run_id, "implement") + if ( + (row.data.get("provider_recovery") or {}).get("status") != "consumed" + or task.data.get("idempotency_key") != self.task_key + or task.status != "running" + or row.data.get("active_task") != "implement" + or (row.data.get("cancel_request") or {}).get("status") == "requested" + ): + raise ValueError("The scoped coding invocation is no longer its active native task") + observed = verification_source(self.engine.workspaces / self.run_id) + if source is not None and source != observed: + raise ValueError("The configured-check source changed before its native effect") + run = copy.deepcopy(row.data) + await self.store.assert_ownership() + return run, receipt, observed + + async def run(self, request: ConfiguredCheckRequest) -> Data: + request = ConfiguredCheckRequest.model_validate(request.model_dump()) + async with self.lock: + run, grant, source = await self.guard() + command = configured_command(run["commands"], grant["request"]["command_indices"], request) + admission = dict( + run_id=self.run_id, + task_id="implement", + tool=TOOL, + correlation_id=request.request_id, + arguments=request.model_dump(), + configuration={"grant_id": grant["request"]["request_id"], "grant_digest": digest(grant)}, + source={"source_digest": source, "task_key": self.task_key, "cut": grant["candidate"]["cut"]}, + ) + await self.store.admit_credentials(admission) + await self.guard(source=source) + async with self.recoveries._locked(self.run_id, grant["actor"]) as row: + await self.grants.validate_invocation(row.data, self.task_key) + rows = await self.broker.records.for_run(identifier(self.run_id)) + previous = next((value for value in rows if value.correlation_id == request.request_id), None) + if previous is not None: + if previous.data["request_digest"] != digest(admission): + raise ValueError("The original configured-check request or source changed") + if previous.status != "succeeded": + raise ToolReconciliationRequired("The original configured check is unresolved; never replay it") + return copy.deepcopy(previous.data["result"]) + if any(value.status in {"pending", "unknown"} for value in rows): + raise ToolReconciliationRequired("An existing native tool effect requires reconciliation") + policy = frozen_policy(run.get("tool_policy_snapshot"))["settings"] + own = [ + value + for value in rows + if value.tool == TOOL and value.data["admission"]["configuration"] == admission["configuration"] + ] + if ( + len(own) >= grant["call_limit"] + or len(rows) >= policy["calls_limit"] + or sum(value.tool == TOOL for value in rows) >= policy["per_tool_limit"] + ): + raise ValueError("The existing configured-check or shared tool-call budget is exhausted") + records = await self.journal.sandbox_executions(self.run_id) + config = validate_sandbox_snapshot(run["sandbox_snapshot"]) + final_count = len(run["commands"]) + len( + policy_commands(run.get("policy_snapshot", {}), run["backend"]) + ) + if config.command_limit - len(records) <= final_count: + raise ValueError("Remaining shared command budget is needed for independent final verification") + await self.store.assert_ownership() + await self.broker.records.save( + ForgeToolInvocationEntity( + id=uuid.uuid4(), + run_id=identifier(self.run_id), + task_id="implement", + tool=TOOL, + correlation_id=request.request_id, + status="pending", + data={ + "admission": admission, + "request_digest": digest(admission), + "created_at": now(), + "lease_expires_at": min(time.time() + command.timeout + 10, grant["expires_at_ms"] / 1000), + }, + ) + ) + await self.journal._append(self.run_id, "implement", request.request_id, "tool_intent", admission) + + async def before_write() -> None: + await self.guard(source=source) + + try: + await before_write() + before = {record["execution_id"] for record in records} + result = await self.engine._project_command( + self.run_id, + run, + self.engine.workspaces / self.run_id, + command.argv, + command.timeout, + "implement", + _invocation_guard=before_write, + ) + _, _, after = await self.guard() + retained = await self.journal.sandbox_executions(self.run_id) + value = dict( + invocation_id=request.request_id, + command_index=request.command_index, + exit_code=result.exit_code, + source_before=source, + source_after=after, + sandbox_execution_ids=[ + record["execution_id"] for record in retained if record["execution_id"] not in before + ], + ) + value = bounded_check_result(value, result.output, policy["max_result_bytes"]) + await self.store.admit_credentials(value) + await self.guard() + async with self.recoveries._locked(self.run_id, grant["actor"]) as row: + await self.grants.validate_invocation(row.data, self.task_key) + await self.store.assert_ownership() + await self.broker._complete(self.run_id, request.request_id, "succeeded", {"result": value}) + return value + except BaseException as exc: + await asyncio.shield( + self.broker._unknown( + self.run_id, + request.request_id, + "unknown", + { + "error": { + "message": "Configured-check outcome not admitted; inspect its original runner receipt" + } + }, + ) + ) + if isinstance(exc, asyncio.CancelledError): + raise + raise ToolReconciliationRequired( + "Configured-check outcome requires reconciliation; never replay it" + ) from None diff --git a/src/firefly_forge/coding_check_transport.py b/src/firefly_forge/coding_check_transport.py new file mode 100644 index 000000000..811a5b6cf --- /dev/null +++ b/src/firefly_forge/coding_check_transport.py @@ -0,0 +1,209 @@ +# Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 +"""One invocation's loopback MCP endpoint; never the factory operator API.""" + +from __future__ import annotations + +import asyncio +import json +import math +import secrets +import socket +import time +from collections.abc import AsyncIterator, Awaitable, Callable +from contextlib import asynccontextmanager, contextmanager +from typing import Annotated, Any + +import uvicorn +from mcp.server.mcpserver import MCPServer +from pydantic import Field +from starlette.responses import JSONResponse, PlainTextResponse +from starlette.types import ASGIApp, Receive, Scope, Send + +from firefly_forge.coding_check_models import CheckIndex, ConfiguredCheckRequest +from firefly_forge.prompts import prompt_text +from firefly_forge.secrets import ephemeral_credentials, redact_environment + +TOKEN_ENV = "FORGE_CODING_RUNTIME_TOKEN" +TOOL_NAME = "run_configured_check" + + +class _Boundary: + def __init__(self, app: ASGIApp, owner: CodingCheckServer, port: int) -> None: + self.app, self.owner, self.port = app, owner, port + + async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: + if scope["type"] != "http": + await self.app(scope, receive, send) + return + headers = scope.get("headers", []) + values = {key: value for key, value in headers} + status = None + if scope.get("raw_path") != b"/mcp" or scope.get("query_string"): + status = 404 + elif any( + sum(key == name for key, _ in headers) != 1 for name in (b"host", b"authorization") + ) or not secrets.compare_digest(values.get(b"authorization", b""), ("Bearer " + self.owner.token).encode()): + status = 401 + elif values.get(b"host") != f"127.0.0.1:{self.port}".encode() or ( + b"origin" in values and values[b"origin"] != f"http://127.0.0.1:{self.port}".encode() + ): + status = 403 + elif not self.owner.accepting or self.owner.expires_at_ms <= int(time.time() * 1000): + status = 410 + if status: + await PlainTextResponse("Scoped coding endpoint unavailable", status_code=status)(scope, receive, send) + return + if scope["method"] == "POST": + body = bytearray() + while True: + message = await receive() + if message["type"] != "http.request": + return + body.extend(message.get("body", b"")) + if len(body) > 4096: + await PlainTextResponse("Scoped request exceeds its bound", status_code=413)(scope, receive, send) + return + if not message.get("more_body"): + break + try: + packet = json.loads(body) + if isinstance(packet, dict) and packet.get("method") == "tools/call": + params = packet["params"] + if params["name"] != TOOL_NAME: + raise ValueError("Only the scoped configured check is available") + ConfiguredCheckRequest.model_validate(params["arguments"]) + except (ValueError, KeyError, TypeError): + await JSONResponse( + {"jsonrpc": "2.0", "id": None, "error": {"code": -32602, "message": "Invalid configured check"}}, + status_code=400, + )(scope, receive, send) + return + original_receive = receive + delivered = False + + async def replay() -> Any: + nonlocal delivered + if not delivered: + delivered = True + return {"type": "http.request", "body": bytes(body), "more_body": False} + return await original_receive() + + receive = replay + with ephemeral_credentials(self.owner.environment): + await self.app(scope, receive, send) + + +class _Server(uvicorn.Server): + @contextmanager + def capture_signals(self) -> Any: + # This endpoint belongs to an already supervised API worker, not a new process supervisor. + yield + + +class CodingCheckServer: + def __init__( + self, + callback: Callable[[ConfiguredCheckRequest], Awaitable[dict[str, Any]]], + *, + expires_at_ms: int, + bind_port: int = 0, + invocation_timeout: float | None = None, + ) -> None: + self.callback, self.expires_at_ms = callback, expires_at_ms + if invocation_timeout is not None: + if not math.isfinite(invocation_timeout) or invocation_timeout <= 0: + raise ValueError("The coding invocation requires a finite positive provider timeout") + self.expires_at_ms = min(expires_at_ms, int(time.time() * 1000 + invocation_timeout * 1000)) + if type(bind_port) is not int or not (bind_port == 0 or 1024 <= bind_port <= 65535): + raise ValueError("Use an explicitly reviewed unprivileged loopback port or zero") + self.bind_port = bind_port + self.token = secrets.token_urlsafe(32) + self.environment = {TOKEN_ENV: self.token} + self.accepting = True + self.active: set[asyncio.Task[Any]] = set() + self.endpoint: str | None = None + + def application(self, port: int) -> Any: + server = MCPServer("forge scoped coding checks", log_level="ERROR") + + @server.tool(description=prompt_text("coding-runtime/run-configured-check")) + async def run_configured_check( + command_index: CheckIndex, request_id: Annotated[str, Field(pattern=r"^[a-f0-9]{32}$")] + ) -> dict[str, Any]: + request = ConfiguredCheckRequest(command_index=command_index, request_id=request_id) + task = asyncio.current_task() + assert task is not None + self.active.add(task) + try: + if not self.accepting or self.expires_at_ms <= int(time.time() * 1000): + raise ValueError("The configured-check invocation has expired") + result = await self.callback(request) + safe = json.loads(redact_environment(json.dumps(result, ensure_ascii=False))) + if not isinstance(safe, dict): + raise ValueError("Configured-check result must be a bounded object") + return safe + except asyncio.CancelledError: + raise + except Exception: + raise ValueError("Configured check not admitted; inspect its original native receipt") from None + finally: + self.active.discard(task) + + app = server.streamable_http_app( + json_response=True, stateless_http=True, max_request_body_size=4096, max_sessions=1, host="127.0.0.1" + ) + app.add_middleware(_Boundary, owner=self, port=port) + return app + + @asynccontextmanager + async def running(self) -> AsyncIterator[CodingCheckServer]: + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + task = None + server = None + try: + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.bind(("127.0.0.1", self.bind_port)) + port = sock.getsockname()[1] + self.endpoint = f"http://127.0.0.1:{port}/mcp" + config = uvicorn.Config( + self.application(port), + access_log=False, + log_level="critical", + log_config=None, + limit_concurrency=4, + backlog=4, + ) + server = _Server(config) + task = asyncio.create_task(server.serve(sockets=[sock])) + async with asyncio.timeout(5): + while not server.started: + if task.done(): + await task + raise RuntimeError("The scoped coding endpoint failed to start") + await asyncio.sleep(0.01) + with ephemeral_credentials(self.environment): + yield self + finally: + self.accepting = False + + async def close() -> None: + try: + # Provider settlement comes first; accepted native effects must finish before transport teardown. + if self.active: + await asyncio.gather(*self.active, return_exceptions=True) + if server is not None and task is not None: + server.should_exit = True + await task + finally: + sock.close() + + cleanup = asyncio.create_task(close()) + cancelled = False + while not cleanup.done(): + try: + await asyncio.shield(cleanup) + except asyncio.CancelledError: + cancelled = True + await cleanup + if cancelled: + raise asyncio.CancelledError() diff --git a/src/firefly_forge/coding_cli_channel.py b/src/firefly_forge/coding_cli_channel.py new file mode 100644 index 000000000..ba8fe5f9b --- /dev/null +++ b/src/firefly_forge/coding_cli_channel.py @@ -0,0 +1,73 @@ +# Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 +"""Explicit per-invocation official CLI MCP configuration, separate from operator MCP.""" + +from __future__ import annotations + +import json +import math +import os +import stat +import tempfile +import time +from pathlib import Path +from typing import Any + +from firefly_forge.coding_check_transport import TOKEN_ENV, CodingCheckServer + + +class CodingCLIChannel: + def __init__(self, server: CodingCheckServer, instructions: str) -> None: + if server.endpoint is None or not server.accepting or server.expires_at_ms <= int(time.time() * 1000): + raise ValueError("The scoped coding channel must be ready before official CLI configuration") + self.server, self.instructions = server, instructions + self.private_file: Path | None = None + self.private_identity: tuple[int, int] | None = None + + def codex_override(self) -> str: + timeout = max(1, math.ceil((self.server.expires_at_ms - time.time() * 1000) / 1000)) + return ( + "mcp_servers={forge_coding={url=" + + json.dumps(self.server.endpoint) + + ',bearer_token_env_var="' + + TOKEN_ENV + + '",enabled=true,required=true,enabled_tools=["run_configured_check"],' + + 'tools={run_configured_check={approval_mode="approve"}},' + + 'startup_readiness="connection",startup_timeout_sec=5,tool_timeout_sec=' + + str(timeout) + + "}}" + ) + + def claude_configuration(self) -> Path: + directory = Path(tempfile.mkdtemp(prefix="forge-coding-mcp-")) + directory.chmod(0o700) + path = directory / "channel.json" + descriptor = os.open(path, os.O_WRONLY | os.O_CREAT | os.O_EXCL | os.O_NOFOLLOW, 0o600) + with os.fdopen(descriptor, "w") as stream: + json.dump( + { + "mcpServers": { + "forge_coding": { + "type": "http", + "url": self.server.endpoint, + "headers": {"Authorization": "Bearer " + self.server.token}, + } + } + }, + stream, + ) + metadata = path.lstat() + self.private_file, self.private_identity = path, (metadata.st_dev, metadata.st_ino) + return path + + def settled(self, outcome: Any) -> None: + if self.private_file is None or outcome is None: + return + if not (outcome.leader_waited and outcome.streams_drained and outcome.group_absent): + return + path = self.private_file + metadata = path.lstat() + if not stat.S_ISREG(metadata.st_mode) or (metadata.st_dev, metadata.st_ino) != self.private_identity: + raise ValueError("The owned private coding channel file identity changed") + path.unlink() + path.parent.rmdir() + self.private_file = None diff --git a/src/firefly_forge/collaboration_feedback.py b/src/firefly_forge/collaboration_feedback.py index 1469dd5b0..832ae20c0 100644 --- a/src/firefly_forge/collaboration_feedback.py +++ b/src/firefly_forge/collaboration_feedback.py @@ -270,10 +270,21 @@ def feedback_card(data: Data, run: Data, repository: Data, host: str, safe: Call safe(reference_url) sections.append(prompt_text("collaboration/reference", url=reference_url)) if handoff: + explanation = copy["handoff"][handoff["status"]] + if recovery: + attempt = request.get("attempt") + provenance = ( + "unknown" + if type(attempt) is not int or not 1 <= attempt <= recovery["attempt"] + else "current" + if attempt == recovery["attempt"] + else "retained" + ) + explanation = copy["handoff_provenance"][provenance] + "\n\n" + explanation sections.append( prompt_text( "collaboration/handoff", - explanation=copy["handoff"][handoff["status"]], + explanation=explanation, total=str( handoff.get("commands_count", (run.get("verification_handoff") or {}).get("commands_count", 0)) ), @@ -316,7 +327,6 @@ def feedback_card(data: Data, run: Data, repository: Data, host: str, safe: Call checks = run.get("final_verification") or [] if checks: passed = sum(type(check.get("exit_code")) is int and check["exit_code"] == 0 for check in checks) - sections.append(prompt_text("collaboration/verification", passed=str(passed), total=str(len(checks)))) if recovery: attempts = { check["attempt"] @@ -333,6 +343,7 @@ def feedback_card(data: Data, run: Data, repository: Data, host: str, safe: Call explanation=copy["check_provenance"][provenance], ) ) + sections.append(prompt_text("collaboration/verification", passed=str(passed), total=str(len(checks)))) url = _link(run.get("pr_url"), host, repository) if url: safe(url) diff --git a/src/firefly_forge/engine.py b/src/firefly_forge/engine.py index 5cf55416f..5a5e4c6e3 100644 --- a/src/firefly_forge/engine.py +++ b/src/firefly_forge/engine.py @@ -13,6 +13,7 @@ import uuid import zipfile from collections.abc import Callable +from contextlib import AsyncExitStack, ExitStack from pathlib import Path from typing import Any, cast @@ -156,6 +157,7 @@ def __init__( self.tool_broker: Any = None self.verification_handoffs: Any = None self.provider_recoveries: Any = None + self.coding_checks: Any = None self.external_mcp: Any = None self.learning: Any = None self.knowledge_first: Any = None @@ -389,6 +391,7 @@ async def execute_run(self, identifier: str, *, restoration: Any = None) -> None workspace = self.workspaces / identifier settings: dict[str, str] = {} active_key: str | None = None + credential_scopes = ExitStack() def safe(message: str) -> str: return redact_secrets(redact_secrets(redact(message), self.credential_registry()), settings) @@ -987,12 +990,24 @@ async def checkpoint_guard( if current_handoff.get("id"): await self.journal.verification_hold(identifier, current_handoff["id"]) raise ReconciliationRequired(str(exc)) from exc - from firefly_forge.providers import cli_dispatch_scope + from firefly_forge.providers import assert_cli_runtime_compatible, cli_dispatch_scope official_dispatch = self.provider_recoveries if run["agent"] in {"codex", "claude"} else None dispatch_provider, adopted_executable = provider, None + coding_grant = None + checks = getattr(self, "coding_checks", None) + dispatch_pending = {"value": False} if official_dispatch: + if self.configured_provider: + assert_cli_runtime_compatible() if recovery is not None: + if (current.get("provider_recovery") or {}).get("coding_check_grant_id"): + try: + if checks is None: + raise ValueError("The scoped configured-check authority is unavailable") + coding_grant = await checks.assert_reserved(identifier, active_key) + except ValueError as exc: + raise ReconciliationRequired(str(exc)) from exc selected = official_dispatch.execution_settings(current, settings, active_key) adoption = (current.get("provider_recovery") or {}).get("executable_adoption") if adoption: @@ -1004,18 +1019,70 @@ async def checkpoint_guard( dispatch_provider = get_provider(run["agent"], selected) adopted_executable = adoption["path"] - await official_dispatch.dispatch(identifier, active_key) + if coding_grant: + dispatch_pending["value"] = True + else: + await official_dispatch.dispatch(identifier, active_key) else: await official_dispatch.normal_dispatch(identifier, active_key) async def launch_guard( - dispatch: Any = official_dispatch, task_key: str | None = active_key + dispatch: Any = official_dispatch, + task_key: str | None = active_key, + grant: Any = coding_grant, + checks_service: Any = checks, + pending: Any = dispatch_pending, ) -> None: await self.assert_ownership() + if grant: + await self.store.assert_ownership() + await checks_service.assert_reserved(identifier, task_key) + if pending["value"]: + await dispatch.dispatch(identifier, task_key) + pending["value"] = False + await checks_service.assert_reserved(identifier, task_key) if dispatch: await dispatch.assert_launch(identifier, task_key) + channel_stack = AsyncExitStack() try: + if coding_grant: + from firefly_forge.coding_check_runtime import ConfiguredCheckInvocation + from firefly_forge.coding_check_transport import CodingCheckServer + from firefly_forge.secrets import ephemeral_credentials + + if not hasattr(dispatch_provider, "configure_coding_checks"): + raise ReconciliationRequired( + "The configured official CLI scoped channel is unavailable" + ) + if checks is None or not isinstance(active_key, str): + raise ReconciliationRequired( + "The scoped coding invocation has no native task authority" + ) + runtime = ConfiguredCheckInvocation(checks, identifier, active_key) + channel = CodingCheckServer( + runtime.run, + expires_at_ms=coding_grant["expires_at_ms"], + bind_port=coding_grant["candidate"]["channel"]["bind_port"], + invocation_timeout=float(settings.get("FORGE_PROVIDER_TIMEOUT", "1800")), + ) + # Retain redaction until source admission, final evidence and all error handling finish. + credential_scopes.enter_context(ephemeral_credentials(channel.environment)) + await channel_stack.enter_async_context(channel.running()) + selected_checks = [ + command + for command in coding_grant["candidate"]["commands"] + if command["command_index"] in coding_grant["request"]["command_indices"] + ] + dispatch_provider.configure_coding_checks( + channel, + prompt_text( + "implementation/configured-checks", + checks=json.dumps(selected_checks), + call_limit=str(coding_grant["call_limit"]), + final_check_count=str(coding_grant["candidate"]["independent_final_check_count"]), + ), + ) with ( bridge_completion_scope(completion_scope), checkpoint_invocation(native_invocation), @@ -1034,6 +1101,10 @@ async def launch_guard( ) except BaseException as exc: if official_dispatch: + if dispatch_pending["value"]: + raise ReconciliationRequired( + "The scoped coding invocation was held before consuming its reserved dispatch" + ) from exc known = await official_dispatch.record_process( identifier, active_key, getattr(exc, "process_outcome", None) ) @@ -1042,6 +1113,8 @@ async def launch_guard( "The native provider outcome requires reconciliation" ) from exc raise + finally: + await channel_stack.aclose() if official_dispatch: from firefly_forge.provider_recovery_models import ProviderAttemptClosed @@ -1284,6 +1357,8 @@ async def launch_guard( if (await self.store.get_run(identifier))["status"] == "succeeded": (await self.store.update(identifier, publication_error=safe(str(exc)))) await emit("publication", f"Publication failed: {exc}") + finally: + credential_scopes.close() async def _worker_feedback( self, identifier: str, workspace: Path, result: Any, attempt: int, safe_data: Callable[[Any], Any] @@ -1650,6 +1725,7 @@ async def _project_command( ordinal: int | None = None, _diagnostic_snapshot: str | None = None, _receipt_sink: Callable[[dict[str, Any]], None] | None = None, + _invocation_guard: Callable[[], Any] | None = None, ) -> Any: from firefly_forge.project_access import ProjectAccess @@ -1673,6 +1749,7 @@ async def _project_command( stage, ordinal=ordinal, git_root=workspace if stage == "verify" else None, + **({"_invocation_guard": _invocation_guard} if _invocation_guard else {}), **diagnostic, ) if _diagnostic_snapshot is not None: diff --git a/src/firefly_forge/provider_recoveries.py b/src/firefly_forge/provider_recoveries.py index 07b92b036..929b6f2d9 100644 --- a/src/firefly_forge/provider_recoveries.py +++ b/src/firefly_forge/provider_recoveries.py @@ -48,6 +48,7 @@ class ProviderRecoveries: def __init__(self, store: Store, journal: Journal, engine: Any) -> None: self.store, self.journal, self.engine = store, journal, engine + self.coding_checks: Any = None async def _operator(self, run_id: str) -> Any: actor = CURRENT_PRINCIPAL.get() @@ -528,6 +529,11 @@ async def dispatch(self, run_id: str, key: str) -> None: await self._allowance(row.data) if current.get("status") != "reserved" or current.get("task_key") != key: raise ValueError("The provider dispatch reservation was consumed or changed") + if current.get("coding_check_grant_id"): + checks = getattr(self, "coding_checks", None) + if checks is None: + raise ValueError("The scoped configured-check authority is unavailable") + await checks.validate_invocation(row.data, key) task = await self.journal._task(run_id, "implement") if task.data.get("idempotency_key") != key or task.attempt != current["attempt"]: raise ValueError("The provider dispatch task changed") diff --git a/src/firefly_forge/provider_recovery_allowances.py b/src/firefly_forge/provider_recovery_allowances.py index 86e20933a..626e408d3 100644 --- a/src/firefly_forge/provider_recovery_allowances.py +++ b/src/firefly_forge/provider_recovery_allowances.py @@ -28,6 +28,7 @@ class ProviderRecoveryAllowanceInput(BaseModel): reason: str = Field(min_length=1, max_length=2000) mitigation_evidence_digest: str = Field(pattern=r"^[a-f0-9]{64}$") adopt_current_executable: Literal[True] + coding_check_grant_id: str | None = Field(default=None, pattern=r"^[a-f0-9]{32}$") @field_validator("adopt_current_executable", mode="before") @classmethod @@ -134,6 +135,7 @@ def _sealed_allowance(run: Data, task: Data, entries: list[Data]) -> Data: or task.get("idempotency_key") != key or task.get("provider_recovery_id") != body.request_id or state.get("executable_adoption") != candidate.get("executable_adoption") + or state.get("coding_check_grant_id") != body.coding_check_grant_id or len(dispatch_keys(entries)) != 5 ): raise ValueError("The final provider allowance linkage changed") @@ -194,7 +196,7 @@ async def reserve(self, run_id: str, body: ProviderRecoveryAllowanceInput) -> Da **ProjectAccess.actor_snapshot(actor), "identity_digest": digest({"issuer": actor.issuer, "subject": actor.subject}), } - request = body.model_dump() + request = body.model_dump(exclude_none=True) r.store.reject_credentials(request) async with r._locked(run_id, snapshot) as row: entries = await r._entries(run_id) @@ -218,6 +220,11 @@ async def reserve(self, run_id: str, body: ProviderRecoveryAllowanceInput) -> Da prospective = {"status": "reserved", "executable_adoption": candidate.get("executable_adoption")} if r._cut({**row.data, "provider_recovery": prospective}) != candidate["cut"]: raise ValueError("The final allowance execution cut changed") + if body.coding_check_grant_id: + checks = getattr(r, "coding_checks", None) + if checks is None: + raise ValueError("Configured-check grant admission is unavailable") + await checks.bind_allowance(row.data, body, candidate) key = allowance_key(run_id, body.request_id) receipt = dict( version=2, @@ -286,6 +293,7 @@ async def reserve(self, run_id: str, body: ProviderRecoveryAllowanceInput) -> Da actor=snapshot, allowance_id=body.request_id, allowance_digest=seal, + **({"coding_check_grant_id": body.coding_check_grant_id} if body.coding_check_grant_id else {}), **( {"executable_adoption": candidate["executable_adoption"]} if body.adopt_current_executable diff --git a/src/firefly_forge/providers.py b/src/firefly_forge/providers.py index af0ee8ca2..8a0b0d31f 100644 --- a/src/firefly_forge/providers.py +++ b/src/firefly_forge/providers.py @@ -30,6 +30,7 @@ ConfigurationStore, normalize_provider, public_settings, + redact_secrets, validate_endpoint, ) from firefly_forge.profiles import build_instruction @@ -52,6 +53,10 @@ class ProviderError(RuntimeError): process_outcome: ProviderProcessOutcome | None = None +class ProviderRuntimeAdmissionError(ProviderError): + """The current event loop cannot preserve trusted CLI file-size signal behavior.""" + + class ProviderLimitError(ProviderError): def __init__( self, @@ -260,6 +265,20 @@ async def _stop_process_group(process: asyncio.subprocess.Process) -> None: await process.wait() +def assert_cli_runtime_compatible() -> None: + if os.name != "posix": + return + import resource + + if resource.getrlimit(resource.RLIMIT_FSIZE)[0] == resource.RLIM_INFINITY: + return + if any(base.__module__.split(".", 1)[0] == "uvloop" for base in type(asyncio.get_running_loop()).__mro__): + raise ProviderRuntimeAdmissionError( + "Trusted CLI execution with a finite RLIMIT_FSIZE requires the asyncio event loop; " + "use forge serve or configure the external ASGI server with --loop asyncio" + ) + + async def run_process( command: list[str], workspace: Path, @@ -273,6 +292,7 @@ async def run_process( expected = _cli_launch_executable.get() if expected is not None and (not command or command[0] != expected): raise ValueError("The actual CLI command differs from its adopted executable") + assert_cli_runtime_compatible() guard = _cli_launch_guard.get() if guard is not None: await guard() @@ -297,7 +317,7 @@ async def run_process( async def drain(stream: asyncio.StreamReader, kind: str) -> None: while raw := await stream.readline(): - line = _redact(raw.decode("utf-8", errors="replace")) + line = redact_secrets(_redact(raw.decode("utf-8", errors="replace")), env or {}) output[kind] = (output[kind] + line)[-1_000_000:] await emit(kind, line.rstrip("\n")) @@ -364,6 +384,12 @@ class ConfiguredProvider: def __init__(self, settings: dict[str, str] | None = None) -> None: self.settings = settings if settings is not None else dict(os.environ) self.runtime_context: Any = None + self.coding_checks: Any = None + + def configure_coding_checks(self, server: Any, instructions: str) -> None: + from firefly_forge.coding_cli_channel import CodingCLIChannel + + self.coding_checks = CodingCLIChannel(server, instructions) def configure_runtime(self, **kwargs: Any) -> None: from firefly_forge.workspace_tools import ToolRuntimeContext @@ -398,9 +424,17 @@ async def execute(self, workspace: Path, brief: str, backend: str, frontend: str model = self.settings.get("FORGE_CODEX_MODEL") if model: command[-1:-1] = ["--model", model] + if self.coding_checks: + command[-1:-1] = ["-c", self.coding_checks.codex_override()] + prompt += "\n" + self.coding_checks.instructions await emit("provider", "Using the official Codex CLI with its existing login") result = await run_process( - command, workspace, emit, timeout=float(self.settings.get("FORGE_PROVIDER_TIMEOUT", "1800")), stdin=prompt + command, + workspace, + emit, + timeout=float(self.settings.get("FORGE_PROVIDER_TIMEOUT", "1800")), + stdin=prompt, + env=runtime_environment(self.coding_checks.server.environment) if self.coding_checks else None, ) try: if result.process_outcome is not None and not result.process_outcome.group_absent: @@ -447,17 +481,32 @@ async def execute(self, workspace: Path, brief: str, backend: str, frontend: str model = self.settings.get("FORGE_CLAUDE_MODEL") if model: command.extend(["--model", model]) + prompt = build_instruction(brief, backend, frontend) + if self.coding_checks: + command.extend(["--strict-mcp-config", "--mcp-config", str(self.coding_checks.claude_configuration())]) + allowed = command.index("--allowedTools") + 1 + command[allowed] += ",mcp__forge_coding__run_configured_check" + prompt += "\n" + self.coding_checks.instructions await emit("provider", "Using the official Claude Code CLI with its existing login") child_env = runtime_environment() child_env.pop("CLAUDECODE", None) - result = await run_process( - command, - workspace, - emit, - timeout=float(self.settings.get("FORGE_PROVIDER_TIMEOUT", "1800")), - stdin=build_instruction(brief, backend, frontend), - env=child_env, - ) + if self.coding_checks: + child_env.update(self.coding_checks.server.environment) + try: + result = await run_process( + command, + workspace, + emit, + timeout=float(self.settings.get("FORGE_PROVIDER_TIMEOUT", "1800")), + stdin=prompt, + env=child_env, + ) + except BaseException as exc: + if self.coding_checks: + self.coding_checks.settled(getattr(exc, "process_outcome", None)) + raise + if self.coding_checks: + self.coding_checks.settled(result.process_outcome) try: if result.process_outcome is not None and not result.process_outcome.group_absent: raise ProviderOutcomeUnknown("The official CLI process group has not been confirmed drained") diff --git a/src/firefly_forge/resources/prompts/v1/coding-runtime/run-configured-check.yaml b/src/firefly_forge/resources/prompts/v1/coding-runtime/run-configured-check.yaml new file mode 100644 index 000000000..730c8bbc4 --- /dev/null +++ b/src/firefly_forge/resources/prompts/v1/coding-runtime/run-configured-check.yaml @@ -0,0 +1,10 @@ +# Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 +name: coding-runtime/run-configured-check +version: 1.0.0 +description: One administrator-granted native configured check. +system_template: '' +user_template: |- + Execute one explicitly granted retained configured check through the native runner. Supply only its configured command_index and original request_id. Current native authority, source, expiry and shared budgets are rechecked. A repeated identity reads its exact original source-bound receipt; uncertain effects require reconciliation and never authorize replay. Output is observed evidence, not QA approval or permission to publish. +required_variables: [] +metadata: + defaults: {} diff --git a/src/firefly_forge/resources/prompts/v1/collaboration/copy.yaml b/src/firefly_forge/resources/prompts/v1/collaboration/copy.yaml index f973eb48f..9760d88d3 100644 --- a/src/firefly_forge/resources/prompts/v1/collaboration/copy.yaml +++ b/src/firefly_forge/resources/prompts/v1/collaboration/copy.yaml @@ -85,11 +85,16 @@ user_template: |- }, "choices_heading": "Choices:", "verification_refused": "The factory could not start the requested checks. An operator needs to review the original question.", + "handoff_provenance": { + "current": "**Current-attempt verification**", + "retained": "**Previous-attempt verification**\n\nThis handoff belongs to an earlier attempt. It does not verify this recovery attempt.", + "unknown": "**Retained verification (attempt not confirmed)**\n\nThis handoff cannot be matched to this recovery attempt and does not verify it." + }, "check_provenance_unknown": "unknown", "check_provenance": { - "current": "These checks were recorded for this recovery attempt.", - "retained": "These totals include checks from another attempt and do not verify this recovery attempt.", - "unknown": "The attempt provenance is incomplete; these retained checks do not verify this recovery attempt." + "current": "**Current-attempt verification**\n\nThese checks were recorded for this recovery attempt.", + "retained": "**Retained verification from another attempt**\n\nThese totals include checks from another attempt and do not verify this recovery attempt.", + "unknown": "**Retained verification (attempt not confirmed)**\n\nThe attempt provenance is incomplete; these retained checks do not verify this recovery attempt." }, "titles": { "recorded": "Request recorded", diff --git a/src/firefly_forge/resources/prompts/v1/implementation/configured-checks.yaml b/src/firefly_forge/resources/prompts/v1/implementation/configured-checks.yaml new file mode 100644 index 000000000..e8ffde75b --- /dev/null +++ b/src/firefly_forge/resources/prompts/v1/implementation/configured-checks.yaml @@ -0,0 +1,15 @@ +# Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 +name: implementation/configured-checks +version: 1.0.0 +description: Explicit configured-check channel instructions for an official coding CLI. +system_template: '' +user_template: |- + An administrator granted this invocation the separate forge_coding MCP tool run_configured_check(command_index, request_id). Only these frozen configured checks are in scope: + {{ checks }} + Supply an allowed command_index and a stable 32-character lowercase hexadecimal request_id. You cannot choose arguments, working directory, environment, provider, run, or timeout. Use the same request_id only to read its original result; after an uncertain result, stop and report the hold instead of choosing another identity. Results describe the observed source, not approval. The grant permits at most {{ call_limit }} new check executions, and remaining shared budgets or current authority can reduce that availability. Independent final verification still requires {{ final_check_count }} checks and is not implied by this tool. General CLI role tools remain advisory; this channel grants no operator API, publication, deployment, arbitrary command, or broader network authority. +required_variables: +- checks +- call_limit +- final_check_count +metadata: + defaults: {} diff --git a/src/firefly_forge/resources/prompts/v1/manifest.json b/src/firefly_forge/resources/prompts/v1/manifest.json index 4aa448017..b381faf87 100644 --- a/src/firefly_forge/resources/prompts/v1/manifest.json +++ b/src/firefly_forge/resources/prompts/v1/manifest.json @@ -45,6 +45,14 @@ "checks": "string" } }, + { + "id": "coding-runtime/run-configured-check", + "version": "1.0.0", + "path": "coding-runtime/run-configured-check.yaml", + "sha256": "9454c1e193e975479ada39e925039a104492824bbfe25091a2a070692303a461", + "field": "user", + "variables": {} + }, { "id": "collaboration/action", "version": "1.0.0", @@ -77,7 +85,7 @@ "id": "collaboration/copy", "version": "1.0.0", "path": "collaboration/copy.yaml", - "sha256": "4d7b567dd55a9078f5ce51c960375ef33551978231febfb2894314185578d4a1", + "sha256": "966af19471584093287828800a3a231ae997aecfd4f6981f955f3241146afb55", "field": "user", "variables": {} }, @@ -321,6 +329,18 @@ "responsibility": "string" } }, + { + "id": "implementation/configured-checks", + "version": "1.0.0", + "path": "implementation/configured-checks.yaml", + "sha256": "35b3899232ee38554584b94be56c296352c5ba501c69c2b7f697b41fff36083d", + "field": "user", + "variables": { + "checks": "string", + "call_limit": "string", + "final_check_count": "string" + } + }, { "id": "implementation/customer", "version": "1.0.0", diff --git a/src/firefly_forge/runner_pool_launcher.py b/src/firefly_forge/runner_pool_launcher.py index f67e43a4b..2cbe7bc0f 100644 --- a/src/firefly_forge/runner_pool_launcher.py +++ b/src/firefly_forge/runner_pool_launcher.py @@ -87,6 +87,8 @@ def workspace_collector(limit: int) -> str: "from pathlib import Path\n" "from typing import Any\n" "from urllib.parse import unquote,urlsplit\n" + "from contextvars import ContextVar\n" + "_ephemeral=ContextVar('forge_ephemeral_credentials',default=())\n" ) return ( prefix diff --git a/src/firefly_forge/sandbox.py b/src/firefly_forge/sandbox.py index 52df42023..09e908792 100644 --- a/src/firefly_forge/sandbox.py +++ b/src/firefly_forge/sandbox.py @@ -16,7 +16,7 @@ import tarfile import uuid from collections import defaultdict -from collections.abc import Callable +from collections.abc import Awaitable, Callable from contextlib import suppress from pathlib import Path, PurePosixPath from typing import TYPE_CHECKING, Any @@ -833,6 +833,7 @@ async def execute( _browser_input: bytes | None = None, _diagnostic_snapshot: str | None = None, _receipt_sink: Callable[[dict[str, Any]], None] | None = None, + _invocation_guard: Callable[[], Awaitable[None]] | None = None, ) -> ProcessResult: if task_id not in {"implement", "verify"}: raise ValueError("Runner commands must belong to an implementation or verification stage") @@ -851,8 +852,16 @@ async def execute( workspace, directory = workspace_root.resolve(strict=True), cwd.resolve(strict=True) if not directory.is_relative_to(workspace) or not workspace.is_dir() or not directory.is_dir(): raise ValueError("Runner working directory must be confined to the component workspace") + + async def admit() -> dict[str, Any]: + current = await self._admit_execution(run_id) + if _invocation_guard is not None: + await _invocation_guard() + current = await self._admit_execution(run_id) + return current + async with self._run_locks[run_id], self._capacity: - run = await self._admit_execution(run_id) + run = await admit() snapshot = run.get("sandbox_snapshot") or capture_sandbox(None) if _diagnostic_snapshot is not None: from firefly_forge.diagnostic_recipes import profile_configuration @@ -962,7 +971,7 @@ async def execute( raise SandboxReconciliationRequired( "Interrupted runner invocation requires explicit stage recovery" ) - await self._admit_execution(run_id) + await admit() created = await self.journal.sandbox_effect_intent( run_id, task_id, execution_id, effect="create", payload=payload ) @@ -979,7 +988,7 @@ async def execute( if started["disposition"] != "execute": raise SandboxReconciliationRequired("Unknown host command outcome cannot be replayed") try: - await self._admit_execution(run_id) + await admit() result = await backend.run( config, argv, directory, min(timeout, config.timeout), config.max_output_bytes ) @@ -1009,7 +1018,7 @@ async def execute( ) elif created["disposition"] == "execute": try: - await self._admit_execution(run_id) + await admit() volumes = ( await self._archive_prepare(config, workspace, git_root, payload["container_name"], labels) if config.workspace_transport == "archive" @@ -1098,7 +1107,7 @@ async def execute( if import_failure is not None: raise import_failure elif started["disposition"] == "execute": - await self._admit_execution(run_id) + await admit() start_argv = ["start", "--attach", payload["container_name"]] if _browser_input is not None: start_argv.insert(1, "--interactive") diff --git a/src/firefly_forge/secrets.py b/src/firefly_forge/secrets.py index acfe6702d..a66fa7041 100644 --- a/src/firefly_forge/secrets.py +++ b/src/firefly_forge/secrets.py @@ -6,9 +6,25 @@ import json import os import re +from collections.abc import Iterator +from contextlib import contextmanager +from contextvars import ContextVar from typing import Any from urllib.parse import unquote, urlsplit +_ephemeral: ContextVar[tuple[str, ...]] = ContextVar("forge_ephemeral_credentials", default=()) + + +@contextmanager +def ephemeral_credentials(values: dict[str, str]) -> Iterator[None]: + token = _ephemeral.set( + (*_ephemeral.get(), *(value for name, value in values.items() if value and sensitive_name(name))) + ) + try: + yield + finally: + _ephemeral.reset(token) + def sensitive_name(name: str) -> bool: name = name.upper() @@ -40,7 +56,7 @@ def credential_representations(value: str) -> set[str]: def redact_environment(value: str) -> str: - secrets = set() + secrets = set(_ephemeral.get()) for name, item in os.environ.items(): if item and sensitive_name(name): secrets.add(item) diff --git a/studio/package-lock.json b/studio/package-lock.json index 7ad6a854a..a67b56e70 100644 --- a/studio/package-lock.json +++ b/studio/package-lock.json @@ -1,12 +1,12 @@ { "name": "firefly-forge-studio", - "version": "0.2.28", + "version": "0.2.30", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "firefly-forge-studio", - "version": "0.2.28", + "version": "0.2.30", "license": "Apache-2.0", "dependencies": { "lucide-react": "^0.577.0", diff --git a/studio/package.json b/studio/package.json index 5283afa76..98357f7fb 100644 --- a/studio/package.json +++ b/studio/package.json @@ -1,6 +1,6 @@ { "name": "firefly-forge-studio", - "version": "0.2.28", + "version": "0.2.30", "private": true, "type": "module", "license": "Apache-2.0", diff --git a/studio/playwright.docs.config.ts b/studio/playwright.docs.config.ts index 8930b60ff..256131565 100644 --- a/studio/playwright.docs.config.ts +++ b/studio/playwright.docs.config.ts @@ -7,8 +7,9 @@ export default defineConfig({ "docs-walkthrough.spec.ts", "external-tools.spec.ts", "docs-provider-allowance.spec.ts", + "docs-coding-check-recovery.spec.ts", ], - grep: /guided fixture journey|actual fixture review frames|actual fixture final allowance frames/, + grep: /guided fixture journey|actual fixture review frames|actual fixture final allowance frames|actual fixture configured-check recovery frames/, workers: 1, timeout: 90000, use: { diff --git a/studio/src/CodingCheckGrantData.test.ts b/studio/src/CodingCheckGrantData.test.ts new file mode 100644 index 000000000..9a23e4b5d --- /dev/null +++ b/studio/src/CodingCheckGrantData.test.ts @@ -0,0 +1,314 @@ +/* Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 */ +import { expect, it } from "vitest"; +import fixture from "../tests/coding-check-grant-fixture.json"; +import { + codingCandidate, + codingInput, + codingReceipt, + codingCurrent, + retainCodingGrant, + readCodingMarker, + retainCodingAllowance, + codingPort, + codingUnclaimed, +} from "./CodingCheckGrantData"; +import { + allowanceCandidate, + allowanceInput, + allowanceMarkerKey, + retainAllowance, +} from "./ProviderRecoveryAllowanceData"; +import { candidate as finalCandidate } from "../tests/provider-recovery-allowance-fixture"; +import { attemptDigest } from "./LearningObservationAttemptData"; +const context = { + base: "https://factory.example/api/v1", + actor: "a".repeat(32), + authentication: "session", + run: "c".repeat(32), + repository: "b".repeat(32), + project: null, + agent: "codex" as const, +}; +const recoveryId = "d".repeat(32), + grantId = "3".repeat(32); +const candidate = () => + codingCandidate(fixture.candidate, context, recoveryId, 11447); +const input = () => + codingInput( + candidate(), + grantId, + [0, 1], + 2, + 900, + "Reviewed configured checks.", + ); +const locks = { + request: async ( + _key: string, + _options: { mode: "exclusive" }, + call: () => Promise, + ) => call(), +}; +function storage() { + const data = new Map(); + return { + getItem: (key: string) => data.get(key) ?? null, + setItem: (key: string, value: string) => { + data.set(key, value); + }, + }; +} +it("reads only the reviewed candidate and rejects altered typed boundaries", () => { + expect(candidate().channel.bind_port).toBe(11447); + for (const change of [ + { run_id: "0".repeat(32) }, + { task_attempt: 6 }, + { revision: true }, + { commands: [{ command_index: 20, argv: ["test"], timeout: 1 }] }, + { command_indices: [true] }, + { shared_commands_remaining: 100 }, + { extra: true }, + ]) + expect(() => + codingCandidate( + { ...fixture.candidate, ...change }, + context, + recoveryId, + 11447, + ), + ).toThrow(); + for (const port of [true, 1, 1023, 65536, "11447", 1.5]) + expect(() => codingPort(port)).toThrow(); + for (const port of [0, 1024, 11447, 65535]) + expect(codingPort(port)).toBe(port); +}); +it("requires an exact unclaimed native current status before preparing another identity", () => { + const none = { + protocol: "native-coding-configured-check-v1", + run_id: context.run, + grant_id: null, + revision: 0, + status: "none", + receipt_digest: null, + expires_at_ms: null, + }; + expect(() => codingUnclaimed(none, context)).not.toThrow(); + for (const change of [ + { status: "active" }, + { status: "revoked" }, + { status: "expired" }, + { status: "unknown" }, + { revision: true }, + { grant_id: grantId }, + { run_id: "0".repeat(32) }, + { extra: true }, + ]) + expect(() => codingUnclaimed({ ...none, ...change }, context)).toThrow(); +}); +it("supports index19 without inventing a product-specific check count", () => { + const value = structuredClone(fixture.candidate); + value.commands = Array.from({ length: 20 }, (_, i) => ({ + command_index: i, + argv: ["check", String(i)], + timeout: 30, + })); + value.command_indices = value.commands.map((c) => c.command_index); + value.command_count = 20; + value.independent_final_check_count = 20; + value.shared_command_limit = 50; + value.shared_commands_used = 0; + value.shared_commands_remaining = 50; + value.runner.configuration.command_limit = 50; + Object.assign(value, { interactive_commands_remaining: 30 }); + const parsed = codingCandidate(value, context, recoveryId, 11447); + expect( + codingInput(parsed, grantId, [19], 1, 30, "Index nineteen.") + .command_indices, + ).toEqual([19]); + for (const indices of [[20], [true], [19, 19], []]) + expect(() => + codingInput(parsed, grantId, indices as number[], 1, 30, "Reason"), + ).toThrow(); +}); +it("preserves independent final verification capacity and rejects excess, boolean or expired bounds", () => { + for (const values of [ + [8, 900], + [true, 900], + [2, 29], + [2, 3601], + [2, 1.5], + ]) + expect(() => + codingInput( + candidate(), + grantId, + [0, 1], + values[0] as number, + values[1] as number, + "Reason", + ), + ).toThrow(); +}); +it("retains the exact future recovery ID and full grant body before any effect, excluding legacy reservations", async () => { + const store = storage(), + body = input(); + const marker = await retainCodingGrant( + store, + locks, + context, + candidate(), + body, + ); + expect( + await readCodingMarker(store.getItem(allowanceMarkerKey(context)), context), + ).toEqual(marker); + expect(marker.grant.recovery_request_id).toBe(recoveryId); + await expect( + retainCodingGrant(store, locks, context, candidate(), { + ...body, + request_id: "4".repeat(32), + }), + ).rejects.toThrow(); + const view = allowanceCandidate( + { ...finalCandidate, run_id: context.run }, + context, + ); + await expect( + retainAllowance( + store, + locks, + context, + view, + allowanceInput(view, "5".repeat(32), "Reason", "e".repeat(64)), + ), + ).rejects.toThrow(); + const broken = { ...store, setItem: () => {} }; + await expect( + retainCodingGrant(broken, locks, context, candidate(), body), + ).rejects.toThrow(); +}); +it("confirms exact original receipt and current revision/seal/expiry, never historical authority alone", async () => { + const marker = await retainCodingGrant( + storage(), + locks, + context, + candidate(), + input(), + ); + const value = { + ...fixture.immutable_grant_receipt, + request: marker.grant, + candidate: marker.candidate, + }; + const seal = await attemptDigest(value); + const parsed = await codingReceipt( + { ...value, receipt_digest: seal }, + marker, + ); + const current = { + ...fixture.current_active, + receipt_digest: seal, + expires_at_ms: Date.now() + 900000, + }; + const receipt = { ...parsed, expires_at_ms: current.expires_at_ms }; + expect(() => codingCurrent(current, context, receipt)).not.toThrow(); + for (const change of [ + { status: "revoked" }, + { status: "expired" }, + { revision: 2 }, + { receipt_digest: "0".repeat(64) }, + { grant_id: "0".repeat(32) }, + { expires_at_ms: 1 }, + ]) + expect(() => + codingCurrent({ ...current, ...change }, context, receipt), + ).toThrow(); + await expect( + codingReceipt( + { + ...value, + request: { ...marker.grant, call_limit: 1 }, + receipt_digest: seal, + }, + marker, + ), + ).rejects.toThrow(); + await expect( + codingReceipt( + { + ...value, + actor: { ...value.actor, user_id: "0".repeat(32) }, + receipt_digest: seal, + }, + marker, + ), + ).rejects.toThrow(); +}); +it("persists only a grant-linked final body using the original recovery identity, with no replacement", async () => { + const store = storage(), + marker = await retainCodingGrant( + store, + locks, + context, + candidate(), + input(), + ); + const view = allowanceCandidate( + { ...finalCandidate, run_id: context.run }, + context, + ); + const body = { + ...allowanceInput(view, recoveryId, "Reviewed mitigation.", "e".repeat(64)), + coding_check_grant_id: grantId, + }; + const updated = await retainCodingAllowance(store, locks, marker, view, body); + expect(updated.allowance?.body).toEqual(body); + expect( + await readCodingMarker(store.getItem(allowanceMarkerKey(context)), context), + ).toEqual(updated); + await expect( + retainCodingAllowance(store, locks, updated, view, { + ...body, + request_id: "f".repeat(32), + }), + ).rejects.toThrow(); + await expect( + retainCodingAllowance(store, locks, updated, view, body), + ).rejects.toThrow(); +}); + +it("reserves independent policy checks beyond the configured index count", () => { + const value = { + ...fixture.candidate, + independent_final_check_count: 3, + interactive_commands_remaining: 6, + }; + expect( + codingCandidate(value, context, recoveryId, 11447) + .independent_final_check_count, + ).toBe(3); +}); +it("permits bounded repeated calls to one selected check without widening the index grant", () => { + expect( + codingInput(candidate(), grantId, [0], 2, 900, "Permit a bounded rerun.") + .call_limit, + ).toBe(2); +}); +it("supports native grant revisions beyond twenty without accepting unsafe integers", () => { + expect( + codingCandidate( + { ...fixture.candidate, revision: 39 }, + context, + recoveryId, + 11447, + ).revision, + ).toBe(39); + expect(() => + codingCandidate( + { ...fixture.candidate, revision: Number.MAX_SAFE_INTEGER + 1 }, + context, + recoveryId, + 11447, + ), + ).toThrow(); +}); diff --git a/studio/src/CodingCheckGrantData.ts b/studio/src/CodingCheckGrantData.ts new file mode 100644 index 000000000..5b78965c4 --- /dev/null +++ b/studio/src/CodingCheckGrantData.ts @@ -0,0 +1,667 @@ +/* Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 */ +import { attemptDigest } from "./LearningObservationAttemptData"; +import { + allowanceCandidate, + allowanceInput, + allowanceMarkerKey, + allowanceReceipt, + type AllowanceContext, + type AllowanceInput, + type AllowanceLocks, + type AllowanceReview, +} from "./ProviderRecoveryAllowanceData"; + +export const codingProtocol = "native-coding-configured-check-v1"; +export const codingStateEvent = "forge-provider-recovery-state"; +type Data = Record; +export type CodingCandidate = { + version: 1; + protocol: typeof codingProtocol; + run_id: string; + agent: "codex" | "claude"; + recovery_request_id: string; + task_key: string; + task_attempt: 5; + revision: number; + actor_digest: string; + cut: Record; + source_digest: string; + command_indices: number[]; + command_count: number; + commands: { command_index: number; argv: string[]; timeout: number }[]; + runner: { + mode: "host" | "docker"; + configuration: Data; + digest: string; + effective_network: string; + enforced_controls: string[]; + reason: string; + }; + channel: { + transport: "streamable_http"; + host: "127.0.0.1"; + bind_port: number; + }; + independent_final_check_count: number; + shared_command_limit: number; + shared_commands_used: number; + shared_commands_remaining: number; + interactive_commands_remaining: number; + journal_digest: string; + digest: string; +}; +export type CodingInput = { + request_id: string; + recovery_request_id: string; + candidate_digest: string; + expected_revision: number; + command_indices: number[]; + call_limit: number; + valid_seconds: number; + bind_port: number; + reason: string; +}; +export type LinkedAllowance = AllowanceInput & { + coding_check_grant_id: string; +}; +export type CodingMarker = { + version: 1; + kind: "coding-check-recovery"; + context: AllowanceContext; + candidate: CodingCandidate; + grant: CodingInput; + inputDigest: string; + allowance: null | { + review: AllowanceReview; + body: LinkedAllowance; + inputDigest: string; + }; +}; +export type CodingReceipt = { + grantId: string; + revision: number; + receiptDigest: string; + expires_at_ms: number; + callLimit: number; +}; +type Storage = Pick; +const hash = /^[a-f0-9]{64}$/, + id = /^[a-f0-9]{32}$/; +function valid(value: unknown): asserts value { + if (!value) + throw new Error( + "The configured-check recovery identity could not be verified. Keep the saved request; no replacement will be sent.", + ); +} +function object(value: unknown): Data { + valid(value && typeof value === "object" && !Array.isArray(value)); + return value as Data; +} +function keys(value: Data, names: string[]) { + valid(Object.keys(value).sort().join() === names.sort().join()); +} +function text(value: unknown, max = 4096): string { + valid( + typeof value === "string" && + value.length > 0 && + Array.from(value).length <= max && + !value.includes("\0") && + !/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?= min && + value <= max, + ); + return value; +} +function bounded(value: unknown, max = 256 * 1024) { + valid(new TextEncoder().encode(JSON.stringify(value)).length <= max); +} +export function codingPort(value: unknown) { + const n = integer(value, 0, 65535); + valid(n === 0 || n >= 1024); + return n; +} +function indices(value: unknown) { + valid(Array.isArray(value) && value.length >= 1 && value.length <= 20); + const list = value.map((v) => integer(v, 0, 19)); + valid(new Set(list).size === list.length); + return list; +} +function same(a: unknown, b: unknown) { + return attemptDigest(a).then((d) => attemptDigest(b).then((e) => d === e)); +} +function validateContext(context: AllowanceContext) { + for (const value of [context.actor, context.run, context.repository]) + match(value, id); + if (context.project !== null) match(context.project, id); + valid( + ["codex", "claude"].includes(context.agent) && + context.authentication !== "scm_mapping", + ); + text(context.authentication, 80); + const url = new URL(context.base); + valid( + ["http:", "https:"].includes(url.protocol) && + !url.username && + !url.password && + !url.search && + !url.hash, + ); +} +export function codingCandidate( + value: unknown, + context: AllowanceContext, + recoveryId: string, + port: number, +): CodingCandidate { + bounded(value); + validateContext(context); + match(recoveryId, id); + codingPort(port); + const c = object(value); + keys(c, [ + "version", + "protocol", + "run_id", + "agent", + "recovery_request_id", + "task_key", + "task_attempt", + "revision", + "actor_digest", + "cut", + "source_digest", + "command_indices", + "command_count", + "commands", + "runner", + "channel", + "independent_final_check_count", + "shared_command_limit", + "shared_commands_used", + "shared_commands_remaining", + "interactive_commands_remaining", + "journal_digest", + "digest", + ]); + valid( + c.version === 1 && + c.protocol === codingProtocol && + c.run_id === context.run && + c.agent === context.agent && + c.recovery_request_id === recoveryId && + c.task_attempt === 5, + ); + match(c.task_key, id); + integer(c.revision, 0, Number.MAX_SAFE_INTEGER); + for (const k of ["actor_digest", "source_digest", "journal_digest", "digest"]) + match(c[k], hash); + const cut = object(c.cut); + valid(Object.keys(cut).length >= 2 && Object.keys(cut).length <= 16); + for (const [k, v] of Object.entries(cut)) { + valid(/^[a-z_]+_digest$/.test(k)); + match(v, hash); + } + match(cut.sandbox_digest, hash); + match(cut.scope_digest, hash); + const selected = indices(c.command_indices), + count = integer(c.command_count, 1, 20); + valid(selected.length === count && selected.every((v, i) => v === i)); + valid(Array.isArray(c.commands) && c.commands.length === count); + for (const [i, value] of c.commands.entries()) { + const command = object(value); + keys(command, ["command_index", "argv", "timeout"]); + valid( + integer(command.command_index, 0, 19) === i && + Array.isArray(command.argv) && + command.argv.length >= 1 && + command.argv.length <= 64, + ); + for (const arg of command.argv) text(arg, 8192); + integer(command.timeout, 1, 3600); + } + const runner = object(c.runner); + keys(runner, [ + "mode", + "configuration", + "digest", + "effective_network", + "enforced_controls", + "reason", + ]); + valid(["host", "docker"].includes(String(runner.mode))); + match(runner.digest, hash); + text(runner.reason, 4096); + const config = object(runner.configuration); + valid(config.mode === runner.mode); + const configKeys = [ + "mode", + "image", + "context", + "workspace_transport", + "workspace_max_bytes", + "cpus", + "memory_mb", + "pids_limit", + "timeout", + "max_output_bytes", + "network", + "command_limit", + "browser", + "internet_search", + ]; + if ("pool_binding" in config) configKeys.push("pool_binding"); + keys(config, configKeys); + integer(config.timeout, 1, 3600); + integer(config.max_output_bytes, 1024, 2000000); + integer(config.command_limit, 1, 100); + integer(config.memory_mb, 128, 8192); + integer(config.pids_limit, 32, 512); + integer(config.workspace_max_bytes, 1048576, 268435456); + valid( + typeof config.cpus === "number" && + Number.isFinite(config.cpus) && + config.cpus >= 0.1 && + config.cpus <= 4, + ); + valid( + typeof config.internet_search === "boolean" && + ["bind", "archive"].includes(String(config.workspace_transport)) && + ["none", "egress"].includes(String(config.network)), + ); + valid( + Array.isArray(runner.enforced_controls) && + runner.enforced_controls.every( + (v) => typeof v === "string" && v.length <= 64, + ), + ); + if (runner.mode === "host") + valid( + runner.effective_network === "host" && + config.image === null && + config.context === null && + config.browser === null && + config.workspace_transport === "bind" && + config.network === "none" && + !("pool_binding" in config) && + runner.enforced_controls.join() === "timeout,output", + ); + else { + text(config.context, 100); + valid( + /^[a-z0-9][a-z0-9._:/-]{0,255}@sha256:[a-f0-9]{64}$/.test( + text(config.image, 512), + ), + ); + valid( + ["none", "egress", "unavailable"].includes( + String(runner.effective_network), + ), + ); + } + const channel = object(c.channel); + keys(channel, ["transport", "host", "bind_port"]); + valid( + channel.transport === "streamable_http" && + channel.host === "127.0.0.1" && + codingPort(channel.bind_port) === port, + ); + const final = integer(c.independent_final_check_count, 1, 20), + limit = integer(c.shared_command_limit, 1, 100), + used = integer(c.shared_commands_used, 0, 100), + remaining = integer(c.shared_commands_remaining, 0, 100); + valid( + final >= count && + used + remaining === limit && + config.command_limit === limit && + remaining >= final && + integer(c.interactive_commands_remaining, 0, 100) === remaining - final, + ); + // The server's candidate digest is opaque, including native numeric metadata. + return structuredClone(c) as CodingCandidate; +} +export function codingInput( + candidate: CodingCandidate, + requestId: string, + selected: number[], + calls: number, + seconds: number, + reason: string, +): CodingInput { + match(requestId, id); + const list = indices(selected); + valid(list.every((i) => candidate.command_indices.includes(i))); + integer(calls, 1, Math.min(20, candidate.interactive_commands_remaining)); + integer(seconds, 30, 3600); + text(reason, 2000); + valid(reason.trim().length > 0); + return { + request_id: requestId, + recovery_request_id: candidate.recovery_request_id, + candidate_digest: candidate.digest, + expected_revision: candidate.revision, + command_indices: list, + call_limit: calls, + valid_seconds: seconds, + bind_port: candidate.channel.bind_port, + reason, + }; +} +function parseInput(value: unknown, candidate: CodingCandidate) { + const b = object(value); + keys(b, [ + "request_id", + "recovery_request_id", + "candidate_digest", + "expected_revision", + "command_indices", + "call_limit", + "valid_seconds", + "bind_port", + "reason", + ]); + const parsed = codingInput( + candidate, + match(b.request_id, id), + indices(b.command_indices), + integer(b.call_limit, 1, 20), + integer(b.valid_seconds, 30, 3600), + text(b.reason, 2000), + ); + valid( + b.recovery_request_id === parsed.recovery_request_id && + b.candidate_digest === parsed.candidate_digest && + b.expected_revision === parsed.expected_revision && + b.bind_port === parsed.bind_port, + ); + return parsed; +} +export async function readCodingMarker( + raw: string | null, + context: AllowanceContext, +): Promise { + if (raw === null) return null; + valid(raw.length <= 512 * 1024); + const m = object(JSON.parse(raw)); + keys(m, [ + "version", + "kind", + "context", + "candidate", + "grant", + "inputDigest", + "allowance", + ]); + valid( + m.version === 1 && + m.kind === "coding-check-recovery" && + (await same(m.context, context)), + ); + validateContext(context); + const b = object(m.grant), + c = codingCandidate( + m.candidate, + context, + match(b.recovery_request_id, id), + codingPort(b.bind_port), + ), + grant = parseInput(b, c); + valid( + match(m.inputDigest, hash) === + (await attemptDigest({ context, candidate: c, grant })), + ); + let allowance: CodingMarker["allowance"] = null; + if (m.allowance !== null) { + const a = object(m.allowance); + keys(a, ["review", "body", "inputDigest"]); + const body = object(a.body), + original = object(a.review); + const expected = { + ...allowanceInput( + original as AllowanceReview, + grant.recovery_request_id, + text(body.reason, 2000), + match(body.mitigation_evidence_digest, hash), + ), + coding_check_grant_id: grant.request_id, + }; + valid( + (await same(body, expected)) && + match(a.inputDigest, hash) === + (await attemptDigest({ review: original, body: expected })), + ); + allowance = { + review: original as AllowanceReview, + body: expected, + inputDigest: a.inputDigest as string, + }; + } + return { + version: 1, + kind: "coding-check-recovery", + context, + candidate: c, + grant, + inputDigest: m.inputDigest as string, + allowance, + }; +} +function announce() { + if (typeof window !== "undefined") + window.dispatchEvent(new Event(codingStateEvent)); +} +export async function retainCodingGrant( + storage: Storage, + locks: AllowanceLocks | undefined, + context: AllowanceContext, + candidate: CodingCandidate, + grant: CodingInput, +): Promise { + valid(locks && typeof locks.request === "function"); + const key = allowanceMarkerKey(context); + return locks.request(key, { mode: "exclusive" }, async () => { + valid(storage.getItem(key) === null); + const c = codingCandidate( + candidate, + context, + grant.recovery_request_id, + grant.bind_port, + ), + b = parseInput(grant, c); + const marker: CodingMarker = { + version: 1, + kind: "coding-check-recovery", + context, + candidate: c, + grant: b, + inputDigest: await attemptDigest({ context, candidate: c, grant: b }), + allowance: null, + }; + const raw = JSON.stringify(marker); + storage.setItem(key, raw); + valid(storage.getItem(key) === raw); + await readCodingMarker(raw, context); + announce(); + return marker; + }); +} +export async function retainCodingAllowance( + storage: Storage, + locks: AllowanceLocks | undefined, + marker: CodingMarker, + review: AllowanceReview, + body: LinkedAllowance, +): Promise { + valid(locks && typeof locks.request === "function"); + const key = allowanceMarkerKey(marker.context); + return locks.request(key, { mode: "exclusive" }, async () => { + const saved = await readCodingMarker(storage.getItem(key), marker.context); + valid(saved && !saved.allowance && (await same(saved, marker))); + valid( + body.request_id === marker.grant.recovery_request_id && + body.coding_check_grant_id === marker.grant.request_id, + ); + const updated = { + ...saved, + allowance: { + review, + body, + inputDigest: await attemptDigest({ review, body }), + }, + }; + const raw = JSON.stringify(updated); + await readCodingMarker(raw, marker.context); + storage.setItem(key, raw); + valid(storage.getItem(key) === raw); + announce(); + return updated; + }); +} +export async function codingReceipt( + value: unknown, + marker: CodingMarker, +): Promise { + bounded(value); + const r = object(value); + keys(r, [ + "version", + "protocol", + "request", + "actor", + "candidate", + "revision", + "call_limit", + "expires_at_ms", + "receipt_digest", + ]); + valid( + r.version === 1 && + r.protocol === codingProtocol && + (await same(r.request, marker.grant)), + ); + codingCandidate( + r.candidate, + marker.context, + marker.grant.recovery_request_id, + marker.grant.bind_port, + ); + valid(await same(r.candidate, marker.candidate)); + const actor = object(r.actor); + keys(actor, [ + "user_id", + "authentication_method", + "global_admin", + "api_audience", + "identity_digest", + ]); + valid( + actor.user_id === marker.context.actor && + actor.authentication_method === marker.context.authentication && + actor.global_admin === true && + (actor.api_audience === null || typeof actor.api_audience === "string"), + ); + match(actor.identity_digest, hash); + valid( + integer(r.revision, 1, Number.MAX_SAFE_INTEGER) === + marker.grant.expected_revision + 1 && + integer(r.call_limit, 1, 20) === marker.grant.call_limit, + ); + return { + grantId: marker.grant.request_id, + revision: r.revision as number, + receiptDigest: match(r.receipt_digest, hash), + expires_at_ms: integer(r.expires_at_ms, 1, Number.MAX_SAFE_INTEGER), + callLimit: r.call_limit as number, + }; +} +export function codingCurrent( + value: unknown, + context: AllowanceContext, + receipt: CodingReceipt, + now = Date.now(), +) { + bounded(value); + const c = object(value); + keys(c, [ + "protocol", + "run_id", + "grant_id", + "revision", + "status", + "receipt_digest", + "expires_at_ms", + ]); + valid( + c.protocol === codingProtocol && + c.run_id === context.run && + c.grant_id === receipt.grantId && + c.status === "active" && + c.revision === receipt.revision && + c.receipt_digest === receipt.receiptDigest && + c.expires_at_ms === receipt.expires_at_ms && + integer(c.expires_at_ms, 1, Number.MAX_SAFE_INTEGER) > now, + ); + return receipt; +} +export function codingUnclaimed(value: unknown, context: AllowanceContext) { + bounded(value); + const current = object(value); + keys(current, [ + "protocol", + "run_id", + "grant_id", + "revision", + "status", + "receipt_digest", + "expires_at_ms", + ]); + valid( + current.protocol === codingProtocol && + current.run_id === context.run && + current.status === "none" && + current.revision === 0 && + current.grant_id === null && + current.receipt_digest === null && + current.expires_at_ms === null, + ); +} +export async function codingAllowanceReceipt( + value: unknown, + marker: CodingMarker, +) { + valid(marker.allowance); + bounded(value); + const packet = object(value), + request = object(packet.request); + valid( + (await same(request, marker.allowance.body)) && + request.coding_check_grant_id === marker.grant.request_id, + ); + const legacy = { ...request }; + delete legacy.coding_check_grant_id; + // Reuse every legacy native proof check after separately validating the linked grant. + return allowanceReceipt( + { ...packet, request: legacy }, + { + context: marker.context, + review: marker.allowance.review, + body: legacy as AllowanceInput, + }, + ); +} +export function codingAllowanceView(value: unknown, context: AllowanceContext) { + return allowanceCandidate(value, context); +} diff --git a/studio/src/CodingCheckRecovery.css b/studio/src/CodingCheckRecovery.css new file mode 100644 index 000000000..843918e03 --- /dev/null +++ b/studio/src/CodingCheckRecovery.css @@ -0,0 +1,113 @@ +/* Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 */ +.coding-check-budget { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 16px; + margin: 0 0 24px; +} +.coding-check-budget span { + display: block; + color: var(--muted); + font-size: 13px; + line-height: 1.5; +} +.coding-check-budget strong { + display: block; + font-size: 24px; + margin-top: 8px; +} +.coding-check-list { + border: 0; + padding: 0; + margin: 20px 0; + min-width: 0; +} +.coding-check-list legend { + font-weight: 700; + margin-bottom: 12px; +} +.coding-check-command { + display: flex; + align-items: flex-start; + gap: 12px; + padding: 16px 0; + border-bottom: 1px solid var(--line); + cursor: pointer; +} +.coding-check-command input { + flex: 0 0 auto; + margin-top: 4px; +} +.coding-check-command > span { + min-width: 0; + line-height: 1.6; +} +.coding-check-command code { + display: block; + white-space: pre-wrap; + overflow-wrap: anywhere; + margin-top: 8px; + font-size: 13px; +} +.coding-check-fields { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 20px; +} +.coding-check-fields input { + width: 100%; + min-width: 0; +} +.coding-check-confirmed { + display: flex; + align-items: flex-start; + gap: 10px; + line-height: 1.6; +} +.coding-check-confirmed svg { + flex: 0 0 auto; + margin-top: 3px; + color: var(--accent-ink); +} +.coding-check-dialog p { + line-height: 1.6; +} +.coding-check-dialog .provider-allowance-executable p { + margin-bottom: 0; +} +@media (max-width: 600px) { + .coding-check-budget, + .coding-check-fields { + grid-template-columns: minmax(0, 1fr); + gap: 12px; + } + .coding-check-budget > div { + display: flex; + gap: 16px; + align-items: center; + justify-content: space-between; + } + .coding-check-budget strong { + margin: 0; + font-size: 20px; + } +} + +.coding-check-selected { + list-style: none; + padding: 0; + margin: 0; +} +.coding-check-selected li + li { + margin-top: 12px; +} +.coding-check-selected strong, +.coding-check-selected code { + display: block; +} +.coding-check-selected code { + white-space: pre-wrap; + overflow-wrap: anywhere; + font-size: 13px; + margin-top: 4px; +} diff --git a/studio/src/CodingCheckRecovery.test.tsx b/studio/src/CodingCheckRecovery.test.tsx new file mode 100644 index 000000000..4f7971d70 --- /dev/null +++ b/studio/src/CodingCheckRecovery.test.tsx @@ -0,0 +1,52 @@ +/* Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 */ +import { expect, it } from "vitest"; +import { renderToStaticMarkup } from "react-dom/server"; +import { CodingCheckRecovery } from "./CodingCheckRecovery"; +import type { ForgeRun } from "./api"; +import type { IdentitySession } from "./Identity"; +const run = { + id: "c".repeat(32), + repository_id: "b".repeat(32), + attempt: 4, + active_task: "implement", + status: "failed", + agent: "codex", + brief: "never display this private brief", +} as ForgeRun; +const session = { + global_admin: true, + user: { id: "a".repeat(32), authentication_method: "session" }, +} as IdentitySession; +function html(r = run, s = session) { + return renderToStaticMarkup( + , + ); +} +it("introduces scoped check authority as a separate explicit administrator flow", () => { + expect(html()).toContain("Recovery with configured checks"); + expect(html()).toContain("independent final verification"); + expect(html()).not.toContain(run.brief); + expect(html()).not.toContain("never display token"); +}); +it("does not offer the grant flow to mapped identities, nonadmins or unrelated runs", () => { + expect(html(run, { ...session, global_admin: false })).toBe(""); + expect( + html(run, { + ...session, + user: { ...session.user, authentication_method: "scm_mapping" }, + }), + ).toBe(""); + for (const patch of [ + { agent: "bridge" }, + { attempt: 3 }, + { active_task: "verify" }, + ]) + expect(html({ ...run, ...patch })).toBe(""); +}); diff --git a/studio/src/CodingCheckRecovery.tsx b/studio/src/CodingCheckRecovery.tsx new file mode 100644 index 000000000..8cbc4e0a6 --- /dev/null +++ b/studio/src/CodingCheckRecovery.tsx @@ -0,0 +1,1026 @@ +/* Copyright 2026 Firefly Software Foundation. SPDX-License-Identifier: Apache-2.0 */ +import { useEffect, useRef, useState } from "react"; +import { + ArrowRight, + CheckCircle2, + FileCheck2, + ShieldCheck, + Terminal, + X, +} from "lucide-react"; +import { + ApiError, + normalizeBase, + request, + type Connection, + type ForgeRun, +} from "./api"; +import type { IdentitySession } from "./Identity"; +import { Wizard } from "./Wizard"; +import { + allowanceCandidate, + allowanceInput, + allowanceMarkerKey, + existingAllowanceId, + type AllowanceContext, + type AllowanceReview, +} from "./ProviderRecoveryAllowanceData"; +import { + codingAllowanceReceipt, + codingCandidate, + codingCurrent, + codingInput, + codingPort, + codingReceipt, + codingUnclaimed, + readCodingMarker, + retainCodingAllowance, + retainCodingGrant, + type CodingCandidate, + type CodingMarker, + type CodingReceipt, +} from "./CodingCheckGrantData"; +import "./ProjectAccess.css"; +import "./ProviderRecoveryAllowance.css"; +import "./CodingCheckRecovery.css"; + +export function CodingCheckRecovery({ + run, + connection, + session, +}: { + run: ForgeRun; + connection: Connection; + session: IdentitySession; +}) { + const admin = + session.global_admin && + session.user.authentication_method !== "scm_mapping"; + const potential = + admin && + (run.agent === "codex" || run.agent === "claude") && + ((run.attempt === 4 && run.active_task === "implement") || + run.attempt === 5); + const eligible = + potential && + run.attempt === 4 && + run.status === "failed" && + !existingAllowanceId(run.provider_recovery) && + run.cancel_request?.status !== "requested" && + !run.bridge_completion_hold; + const context: AllowanceContext = { + base: new URL( + normalizeBase(connection.base), + typeof window === "undefined" + ? "https://localhost" + : window.location.href, + ).href.replace(/\/$/, ""), + actor: session.user.id, + authentication: session.user.authentication_method, + run: run.id, + repository: run.repository_id, + project: run.project_id ?? null, + agent: run.agent === "claude" ? "claude" : "codex", + }; + const [loaded, setLoaded] = useState(false), + [foreign, setForeign] = useState(false), + [held, setHeld] = useState(false), + [editing, setEditing] = useState(false), + [step, setStep] = useState(0), + [busy, setBusy] = useState(false), + [error, setError] = useState(""); + const [candidate, setCandidate] = useState(null), + [marker, setMarker] = useState(null), + [receipt, setReceipt] = useState(null), + [finalView, setFinalView] = useState(null), + [reserved, setReserved] = useState(false); + const [selected, setSelected] = useState([]), + [calls, setCalls] = useState("1"), + [seconds, setSeconds] = useState("900"), + [port, setPort] = useState("0"), + [grantReason, setGrantReason] = useState(""), + [reason, setReason] = useState(""), + [evidence, setEvidence] = useState(""), + [adopt, setAdopt] = useState(false), + [ack, setAck] = useState(false); + const live = useRef(true), + inflight = useRef(false), + controller = useRef(null), + dialog = useRef(null), + opener = useRef(null), + heading = useRef(null), + futureId = useRef(""), + retained = useRef(null); + const path = `/runs/${run.id}/coding-check-grants`, + finalPath = `/runs/${run.id}/provider-recoveries/allowances`; + useEffect(() => { + live.current = true; + async function restore() { + if (!potential) return; + try { + const raw = localStorage.getItem(allowanceMarkerKey(context)); + if (raw !== null && JSON.parse(raw).kind !== "coding-check-recovery") { + if (live.current) { + setForeign(true); + setLoaded(true); + setEditing(false); + controller.current?.abort(); + } + return; + } + const saved = await readCodingMarker(raw, context); + if ( + retained.current && + (!saved || + saved.inputDigest !== retained.current.inputDigest || + (retained.current.allowance && + saved.allowance?.inputDigest !== + retained.current.allowance.inputDigest)) + ) + throw new Error("The retained recovery changed"); + if (live.current) { + retained.current = saved; + setMarker(saved); + setLoaded(true); + setReceipt(null); + setReserved(false); + if (saved) { + futureId.current = saved.grant.recovery_request_id; + setEditing(false); + controller.current?.abort(); + } + } + } catch { + if (live.current) { + setHeld(true); + setLoaded(true); + } + } + } + void restore(); + const storage = (event: StorageEvent) => { + if (event.key === null || event.key === allowanceMarkerKey(context)) + void restore(); + }; + window.addEventListener("storage", storage); + return () => { + live.current = false; + controller.current?.abort(); + window.removeEventListener("storage", storage); + }; + // The execution record remounts on connection, run and authority changes. + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + useEffect(() => { + const node = dialog.current; + if (editing) node?.showModal(); + return () => node?.close(); + }, [editing]); + useEffect(() => { + if (!editing || !dialog.current) return; + dialog.current + .querySelector(".wizard-heading h2") + ?.focus({ preventScroll: true }); + dialog.current.scrollTop = 0; + }, [editing, step]); + useEffect(() => { + if (!receipt) return; + const remaining = receipt.expires_at_ms - Date.now(); + const timer = setTimeout( + () => { + setReceipt(null); + setFinalView(null); + setError( + "The configured-check grant expired. No replacement grant or recovery was sent.", + ); + }, + Math.min(Math.max(remaining, 0), 3600000), + ); + return () => clearTimeout(timer); + }, [receipt]); + function fail(cause: unknown) { + setReceipt(null); + setReserved(false); + setError( + cause instanceof ApiError && [401, 403].includes(cause.status) + ? "Current administrator access could not be confirmed. Keep the saved identity and check it after access is restored." + : retained.current + ? "This action is not confirmed. Check the saved exact receipt; no grant or reservation will be repeated." + : "The review could not be confirmed. No grant or reservation was sent. Refresh the current check review before continuing.", + ); + } + async function action(call: (signal: AbortSignal) => Promise) { + if (inflight.current) return; + inflight.current = true; + setBusy(true); + setError(""); + const c = new AbortController(); + controller.current = c; + try { + await call(c.signal); + } catch (cause) { + if (live.current && !c.signal.aborted) fail(cause); + } finally { + inflight.current = false; + if (live.current) setBusy(false); + } + } + async function loadCandidate(signal: AbortSignal) { + const value = await request( + connection, + `${path}/candidate?recovery_request_id=${futureId.current}&bind_port=${codingPort(Number(port))}`, + { signal }, + ); + return codingCandidate( + value, + context, + futureId.current, + codingPort(Number(port)), + ); + } + function close() { + controller.current?.abort(); + setEditing(false); + requestAnimationFrame(() => { + if (opener.current && !opener.current.disabled) opener.current.focus(); + else heading.current?.focus(); + }); + } + function prepare() { + if (!eligible || marker || foreign || held) return; + setEditing(true); + setStep(0); + setAck(false); + void action(async (signal) => { + try { + codingUnclaimed( + await request(connection, `${path}/current`, { signal }), + context, + ); + } catch (cause) { + if (live.current && !signal.aborted) { + setHeld(true); + setEditing(false); + } + throw cause; + } + if (!live.current || signal.aborted) return; + futureId.current ||= crypto.randomUUID().replaceAll("-", ""); + const c = await loadCandidate(signal); + if (!live.current || signal.aborted) return; + setCandidate(c); + setSelected(c.command_indices); + setCalls( + String(Math.min(c.command_count, c.interactive_commands_remaining)), + ); + }); + } + async function active(saved: CodingMarker, signal: AbortSignal) { + const value = await request( + connection, + `${path}/${saved.grant.request_id}`, + { signal }, + ), + parsed = await codingReceipt(value, saved); + const current = await request(connection, `${path}/current`, { + signal, + }); + return codingCurrent(current, context, parsed); + } + async function exact(saved: CodingMarker, signal: AbortSignal) { + if (saved.allowance) { + const value = await request( + connection, + `${finalPath}/${saved.grant.recovery_request_id}`, + { signal }, + ); + await codingAllowanceReceipt(value, saved); + if (live.current && !signal.aborted) setReserved(true); + return; + } + const parsed = await active(saved, signal); + const value = await request( + connection, + `${finalPath}/candidate?agent=${context.agent}&adopt_current_executable=true`, + { signal }, + ); + const view = allowanceCandidate(value, context); + if (live.current && !signal.aborted) { + setReceipt(parsed); + setFinalView(view); + setStep(2); + setAdopt(false); + setAck(false); + } + } + function grant() { + if (!candidate || marker || held || foreign || !eligible) return; + void action(async (signal) => { + const fresh = await loadCandidate(signal); + if (JSON.stringify(fresh) !== JSON.stringify(candidate)) { + setCandidate(null); + setStep(0); + throw new Error("Candidate changed"); + } + const body = codingInput( + candidate, + crypto.randomUUID().replaceAll("-", ""), + selected, + Number(calls), + Number(seconds), + grantReason, + ); + const saved = await retainCodingGrant( + localStorage, + navigator.locks, + context, + candidate, + body, + ); + retained.current = saved; + if (!live.current) return; + setMarker(saved); + if (signal.aborted) return; + await request(connection, path, { + method: "POST", + body: JSON.stringify(saved.grant), + signal, + }); + await exact(saved, signal); + }); + } + function reserve() { + if ( + !marker || + marker.allowance || + !receipt || + !finalView || + !adopt || + !ack || + held || + !eligible + ) + return; + void action(async (signal) => { + await active(marker, signal); + const fresh = allowanceCandidate( + await request( + connection, + `${finalPath}/candidate?agent=${context.agent}&adopt_current_executable=true`, + { signal }, + ), + context, + ); + if (JSON.stringify(fresh) !== JSON.stringify(finalView)) { + setFinalView(null); + setAdopt(false); + setStep(2); + throw new Error("Recovery changed"); + } + const body = { + ...allowanceInput( + finalView, + marker.grant.recovery_request_id, + reason, + evidence, + ), + coding_check_grant_id: marker.grant.request_id, + }; + const saved = await retainCodingAllowance( + localStorage, + navigator.locks, + marker, + finalView, + body, + ); + retained.current = saved; + if (!live.current) return; + setMarker(saved); + if (signal.aborted) return; + await request(connection, finalPath, { + method: "POST", + body: JSON.stringify(body), + signal, + }); + await exact(saved, signal); + }); + } + let scopeValid = false, + mitigationValid = false; + try { + if (candidate) { + codingInput( + candidate, + "0".repeat(32), + selected, + Number(calls), + Number(seconds), + grantReason, + ); + scopeValid = true; + } + } catch { + /* Incomplete scope. */ + } + try { + if (finalView) { + allowanceInput(finalView, futureId.current, reason, evidence); + mitigationValid = adopt && receipt !== null; + } + } catch { + /* Incomplete mitigation. */ + } + if (!potential) return null; + return ( +
+
+
+ {!loaded ? ( +

Checking saved recovery…

+ ) : foreign ? ( +

+ A different final allowance request is already retained. Use its + original recovery panel; this flow cannot replace it. +

+ ) : held && !marker ? ( +

+ An existing or unconfirmed configured-check grant blocks this flow. + Restore its original saved identity before continuing. No new grant or + recovery request will be sent. +

+ ) : marker ? ( +
+

+ {reserved ? ( + <> +

+

+ {reserved + ? "One fifth dispatch is reserved and spent, even if it never starts. Check the execution record for actual results. There is no sixth attempt." + : marker.allowance + ? "Keep this exact identity and read its receipt. A lost response does not prove that reservation failed." + : "The grant and future recovery identity are retained. Confirm its exact receipt and current authority before continuing."} +

+
+ Request details +
+
+
Grant request
+
{marker.grant.request_id}
+
+
+
Recovery request
+
{marker.grant.recovery_request_id}
+
+
+
+ +
+ ) : ( + + )} + {!editing && error && ( +

+ {error} +

+ )} + {editing && ( + { + event.preventDefault(); + close(); + }} + > +
+

Recovery with configured checks

+ +
+ {reserved ? ( +
+

Final recovery reserved

+

+ The exact linked reservation is confirmed. Follow execution and + independent verification in the run record. This does not prove + product QA passed. +

+ +
+ ) : ( + { + if (!marker) { + setStep(next); + setAck(false); + } + }} + locked={busy || marker !== null} + title={ + [ + "Review configured checks", + "Grant selected checks", + "Review the recovery mitigation", + "Reserve the final attempt", + ][step] + } + description={ + [ + "Only retained commands can be selected. This does not grant general command execution.", + "This grants scoped check access for one identified recovery; it does not reserve a dispatch.", + "The candidate is refreshed after the grant. The original failure and source history remain retained.", + "Uses the confirmed configured-check grant. This reserves the last recovery attempt, even if it never starts.", + ][step] + } + > +
{ + event.preventDefault(); + if (step === 0 && candidate) setStep(1); + else if (step === 1) grant(); + else if (step === 2 && mitigationValid) { + setStep(3); + setAck(false); + } else if (step === 3) reserve(); + }} + > + {error && ( +

+ {error} +

+ )} + {step === 0 && + (candidate ? ( + <> + {candidate.interactive_commands_remaining === 0 && ( +

+ No interactive command capacity remains. The remaining + budget is reserved for independent final verification. +

+ )} +
+
+ Available shared commands + {candidate.shared_commands_remaining} +
+
+ Independent final checks reserved + + {candidate.independent_final_check_count} + +
+
+ Interactive capacity + + {candidate.interactive_commands_remaining} + +
+
+
+ Configured checks + {candidate.commands.map((command) => ( + + ))} +
+
+
+
+ Reviewed source and runner identity +
+
+
Source fingerprint
+
{candidate.source_digest}
+
+
+
Runner fingerprint
+
{candidate.runner.digest}
+
+
+
+ + ) : ( +

+ {busy + ? "Loading the retained checks…" + : "Refresh the configured-check candidate before continuing."} +

+ ))} + {step === 0 && ( +
+ Advanced connection + + +
+ )} + {step === 1 && candidate && ( + <> +

+ {selected.length} selected checks. Up to{" "} + {Math.min(20, candidate.interactive_commands_remaining)}{" "} + interactive calls can be granted without consuming + independent final verification capacity. +

+
+ + +
+