diff --git a/CHANGELOG.md b/CHANGELOG.md index a40867980..486ed5a7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ +## 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/README.md b/README.md index b3ed0ac31..5bdf2fe72 100644 --- a/README.md +++ b/README.md @@ -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..f1cbb7f62 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..59e705ce1 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..0d101011f 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..47d390515 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..f3ed28cac 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..e484c0c8c 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..4c5fd8e77 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..a0cab4d5b 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-provider-full-desktop-dark.png b/docs/assets/screenshots/activity-provider-full-desktop-dark.png index 096ed1a26..54a3b6511 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..014582104 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..be7ab53eb 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..1d87ce2bc 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..4dbf35f00 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..359169cdc 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..b53bfec73 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..0ac59c014 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..93f46e9dc 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..bb3b3fb36 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..2b7453c0b 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..11408363d 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..36163301f 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..3ded7c652 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..0924ab6a8 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..e2babc05b 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..698e8e0c1 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..9fd8036d6 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..2e61c5b52 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..1e22821ae 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..17797cf85 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..d5d7cd6fc 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..aa4bb37fd 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..9cdaa6c48 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..1c30a8e99 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..7df529dde 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..1d12f1fc3 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..7ddf53f16 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..0e6d9f139 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..e08664487 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..3b2d2df15 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..ec63b44d1 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..8b41fb819 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..e401a71c7 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..33b28b07e 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..8dcec42d9 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..ccb941c4d 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..406eb4963 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..4b1c99528 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..e6bc7c666 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..0c3710351 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..e4d804dcb 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..584ae8254 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..f744a8769 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..755e8d930 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..f3dac803b 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..e2fc641e5 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..78e37b426 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..c546f376c 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..213208092 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..93b2e3841 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..afde4f239 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..645c0dd28 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..f1cbbc0a7 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..9db3bbf34 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..58edb21b4 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..bb19ce46d 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..0eb455be7 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..4ddb44114 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..f26745f99 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..1e7d541e2 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..8838c9d90 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..26f4b7529 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..7aca52a34 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..1bf330e5a 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..5ed25d6ca 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..85a464936 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..e9cd0a903 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..98a43b3bf 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..a6417e22e 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..36a1ce4a9 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..8ee91de37 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..dea3c3df7 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..79732c2d8 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..cffff2017 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..93ec67d4b 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..6e9c659b6 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..b0fba2f37 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..0ecbaca62 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..db590545f 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..c4f9c93ee 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..94a4fe5a9 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..b002f2703 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..3ce065645 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..55201f5ca 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..9ff34b948 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..c3a7baf8e 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..bb036a396 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..9e08a4682 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..b34ccf0c6 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..61ba3dfd7 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..0dd445031 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..8ec707ae1 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..7949e2486 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..e2fc605ec 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..dbc4b5af3 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..f6f1fa539 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..d059bae0b 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..55a637d59 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..b16624cbc 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..d5208b377 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..95c1b6b26 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..749edcc8f 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..55d3e70c6 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..aea64cc8c 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..002ef24c3 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..e21e03697 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..6d3ad2cec 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..46de9e750 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..bff40e35c 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..c6964bea1 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..ef5ad3172 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..e74e295c1 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..83fa3905a 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..25fad20e3 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..ba83d3da5 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..d20eae7e3 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..2790cb9a2 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..7b8dbfa96 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..8d2886523 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..c8bd3a443 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..5bfee5c7a 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..9ffee27ab 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..e7669e3cf 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..440f3b885 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..984b94aab 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..49ece9f5e 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..f9909fba6 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..852a80700 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..d79d114fa 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..f932d481f 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..5cedc80d0 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..0152d8d6b 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..0dc137127 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..fcbb3370c 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..52471b155 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..09ad58594 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..5a2d75550 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..ce0026862 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..0a6c8a586 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..b190bccf4 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..b538e603f 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..87075cec0 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..261d4f33a 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..a6a8576af 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..ef5d86a27 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..7e078e8a7 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..d77247d66 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..68c7be32f 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..1c5d0619a 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..5b9e772bb 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..84ed31776 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..3bd34edec 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..4d293fe90 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..bae9b7feb 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..a87c6678b 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..5ea9e5eaf 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..95b727570 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..28ba88226 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..76200884e 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..52af51495 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..2ddb8ed7c 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..03c7947bd 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..a2175c379 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..6be1a85ea 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..af110380c 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..7d7444615 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..6cdb8e345 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..6c1aad17a 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..87f07ab30 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..7b2efb1c6 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..49c94ebe7 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..f0fc13ab7 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..9103ec234 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..06b15547a 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..b28046fbb 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..0e1c6d7dd 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..a48353890 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..e982416f6 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..10d8cbe82 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..cdf730025 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..206d5a4ed 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..1c368d277 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..d528d237e 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..0d8951acf 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..856f214d1 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..f5a994818 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..6e4168272 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..f5a994818 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..6e4168272 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..d4826bb0c 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..f7ebb305d 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..d4826bb0c 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..f7ebb305d 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..03eb198ee 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..8788d5b14 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..7a1686269 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..69a217db6 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..d63c47ffb 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..20454761e 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..641691662 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..e93b508a3 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..15f6c7458 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..7012235cf 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..93bb54801 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..fffdf6132 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..e9f55cc1e 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..b1a7624bc 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..769032359 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..0f5e49d9c 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..db027b04e 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..426052867 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..4529b4266 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..443583e78 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..63129b7a1 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..d79e187f9 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..10db46f77 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..0ea73ccc7 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..17b4335b8 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..5bfe81015 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..e3c7c44dd 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..8c9e869b2 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..e25f3dd79 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..3143fdbca 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..14082eb8d 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..e05d753b4 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..a6787f47a 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..1f5925551 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..5d8abbcbc 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..be6b2c51c 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..e6406cd8e 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..c9dd95f08 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..eeb169645 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..50b8d3404 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..67e643a74 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..0dd9f9b05 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..6a5f194d1 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..27fa9dabc 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..51ba2383c 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..1d32f713c 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..75fb4b5b4 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..522124d4a 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..fc40c83df 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..5666991bd 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..0c0d3e762 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..5da921dd6 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..ed61f6728 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..81ea3a217 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..87c91110d 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..a0726eca0 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..8bab3a49d 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..fc88beb00 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..4d5d1f48e 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..d0f939f2e 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..63fb48cdb 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..d865fd20a 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..484f77986 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..626f64599 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..901cd2030 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..21b2a35d6 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..82f78e43c 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..805111bff 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..7df5f909d 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..6c46ba94e 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..1df01a8a0 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..3a434f787 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..603486048 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..feed3ed8c 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..b11407b3b 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..bd5c8b90a 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..f3abcfde0 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..c9d9e57f4 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..18a047851 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..1ab2aa030 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..cf114abb1 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..325c11423 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..9e95919f9 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..8222b3bf5 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..fd81a3cac 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..4b96993ea 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..a618d35a0 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..573261606 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..05f8f909d 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..ea1c37073 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..f44d7db20 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..b4fd1b2f5 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..7a59d4421 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..e970b32cb 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..dff1a73b8 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..802c67c67 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..8c209dd6a 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..bbcac90a2 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..a2be78762 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..320c5caa1 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..90eba7232 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..e211f588d 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..9e9d04a17 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..377acebd8 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..bd32145e8 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..d33254079 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..995f66414 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..e00bb65d9 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..71040209d 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..ea035877c 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..c075462cd 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..ac42d9847 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..af1a9cf74 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..52abc05d6 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..034a35960 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..8b113913d 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..0b9d7de7c 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..6fa7ea611 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..0157417ee 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..5b5e5d6cf 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..dd8297aa3 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..9e9615713 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..12c28500f 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..d97a637ba 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..c214668ab 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..f9314099e 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..f59daed80 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..97e2f9f98 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..9006946ce 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..4eb9684a6 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..56d8a037f 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..b2481ccb1 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..3e6f4364f 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..b1fcd5f08 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..cbe3c1343 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..a1b6ce275 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..2e22c7d57 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..360f0d838 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..0addda937 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..42445787a 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..ef6226743 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..1afaf6a60 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..0948d07df 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..0ff832d4e 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..8f49147ed 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..d191cd839 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..40bffe192 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..1d5004277 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..5f0bca29b 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..944b2772b 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..26d75ad8a 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..a18ff8ebf 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..4a8981d9f 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..047ad9060 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..34fbf672a 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..cc363b02b 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..f7c80c5ae 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..c98419f70 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..d8e23baa7 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..5113f4cd5 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..203e3a1bf 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..beda27abf 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..35e7b2789 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..f01523b6a 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..39facd892 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..1ab7c8a9f 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..bf1b8c764 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..db961093d 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..49b3454ca 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..e05d5e90d 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..591d5d1dd 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..be4e58ae4 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..96ecf35bb 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..307485fb5 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..abcfea619 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..de46c36e6 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..8570598a5 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..6de7c52a3 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..d809c4e61 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..d560a0154 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..22598d346 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..84f4f4212 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..5a6a1e66d 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..f14505454 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..2b3600f60 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..ec5b28ee2 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..b0dfd3fb9 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..cddac5ac1 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..e95855f9f 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..934b8e9d9 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..0de438287 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..88f8d151c 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..96ecf35bb 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..307485fb5 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..02a908e3b 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..771fd39d1 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..355187efe 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..184d5b6f6 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..0d1671343 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..3e7862cb7 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..13d384749 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..4b99406cd 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..6f2011c70 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..c0336e21a 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..d812b7154 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..5ef629f84 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..83a5d651b 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..250205282 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..f07b6eeaa 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..bf5e3d5aa 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..b73cb1e7b 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..d54d4711a 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..6b25ec560 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..461d8978e 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..60376c941 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..338ad9762 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..05a5fdb8e 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..52f468a74 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..b792c27a4 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..015bb3753 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..8887543b9 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..ccc3e6ea9 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..9362e4f96 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..0e55aeeab 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..968b7ac97 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..31c6107f4 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..fc65529a0 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..706fdcec6 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..2f777022f 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..79edf72ad 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..f963d6461 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..21995e04d 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..ee47d481c 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..1db95697c 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..4bd04f5fa 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..3505f304a 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..3496fc4a2 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..89ef45142 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..78f62588d 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..de72cf129 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..0c218f2d8 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..2a8c2528a 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..aaf7e8425 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..dbbc7d063 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..5adc21ad3 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..9ef3ba1c3 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..f050c2556 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..7525c971a 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..f01c78595 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..d9d22693f 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..004bf0132 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..e3cbd4f49 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..66a2cb3e1 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..9982bc2aa 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..aae5558b2 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..58fe62cf6 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..e0b2ca521 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..a197de2ae 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..2520d6719 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..a5034dd7f 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..d0a6bd0b9 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..d393e62f2 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..5dcb52b21 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..0596c7ede 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..ff309cf8e 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..3c8b857fa 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..5eb2dc595 100644 --- a/docs/assets/screenshots/walkthrough-manifest.json +++ b/docs/assets/screenshots/walkthrough-manifest.json @@ -6,10 +6,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-workspace-desktop-light.png", "stage": "connect-workspace", "theme": "light", @@ -19,7 +19,7 @@ "width": 1440, "height": 900 }, - "sha256": "31ed2be1541631004c008790ea02189e3e47d356df466a58743cdf12c8f49eeb", + "sha256": "c75a890ec5b4b3ec5e7988bd54be566a25514f55863dfb6b886c9cb7bcab5de6", "action": { "label": "Continue", "top": 713.078125, @@ -46,10 +46,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "96d31f59a596b7b6ae2364285b2a0b9b10a93d732e4c47e58abb90b38ce5a9ee", "action": { "label": "Continue", "top": 713.078125, @@ -86,10 +86,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-repositories-desktop-light.png", "stage": "connect-repositories", "theme": "light", @@ -99,7 +99,7 @@ "width": 1440, "height": 900 }, - "sha256": "5b750fecbc3e141806afbc89516a9b97580d0ee6b73eaf2dc12dc4e9f7de5ebd", + "sha256": "219cef9b676a8de56f6325eee7739b0541388f93cfabc2f234886d609aecce02", "action": { "label": "Continue to knowledge", "top": 713.078125, @@ -126,10 +126,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-knowledge-desktop-light.png", "stage": "connect-knowledge", "theme": "light", @@ -139,7 +139,7 @@ "width": 1440, "height": 900 }, - "sha256": "86a8bac5eb9ff9fde472d18016004e27a57bb458f11211acd5726d9a2ccb24fe", + "sha256": "e560c79bd795d398ba5ef6c19a216b4623fe79a02ab6b52f96fd8e74373b5c25", "action": { "label": "Open production floor", "top": 713.078125, @@ -166,10 +166,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-context-desktop-light.png", "stage": "product-context", "theme": "light", @@ -179,7 +179,7 @@ "width": 1440, "height": 900 }, - "sha256": "6b21176834547243f4bd95afd3ee77613ef30c921cbdb696bb6f71de0c7445c9", + "sha256": "a58b60c5fe23e473b4b947979348be138f8e9044026b07215a9b11657672a75e", "action": { "label": "Continue", "top": 738.15625, @@ -206,10 +206,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-journeys-desktop-light.png", "stage": "product-journeys", "theme": "light", @@ -219,7 +219,7 @@ "width": 1440, "height": 900 }, - "sha256": "360c20ef35750bbc7fa6b83dcfe320fdb5e5130308a1c1bec1080aa34993f169", + "sha256": "c266f4a2114300a41f63a144ac2bfd15ef48b52982a1a380e206b2fbe873b9e7", "action": { "label": "Continue", "top": 738.15625, @@ -246,10 +246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-features-desktop-light.png", "stage": "product-features", "theme": "light", @@ -259,7 +259,7 @@ "width": 1440, "height": 900 }, - "sha256": "d855b5c9d6b289a31acec1dab49a1bac1930e893d5f8cb63b9673860e5cc2c12", + "sha256": "394fde0bd613d4c5f1b3c4eb42dec28675520faeb234310cdf1775fbc794c5fb", "action": { "label": "Continue", "top": 738.15625, @@ -286,10 +286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-integrations-desktop-light.png", "stage": "product-integrations", "theme": "light", @@ -299,7 +299,7 @@ "width": 1440, "height": 900 }, - "sha256": "d921e0c34735be62f159656a9563ebf08351fc48dc310b878992bd619f073037", + "sha256": "10f7f52839045fdc479c0a9229a8e487b1468e8685c78c403310bc51e088af49", "action": { "label": "Review definition", "top": 738.15625, @@ -326,10 +326,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-review-desktop-light.png", "stage": "product-review", "theme": "light", @@ -339,7 +339,7 @@ "width": 1440, "height": 900 }, - "sha256": "5e1b765e7ad4a11f620d2078f4902d815cf856bfd8d89c0f73fa702fb8714586", + "sha256": "f8349ea393df448a3b96a51393d5cfc462bc4cfc313d27b5af692d3faa028f8e", "action": { "label": "Save draft definition", "top": 738.15625, @@ -366,10 +366,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-brief-desktop-light.png", "stage": "run-brief", "theme": "light", @@ -379,7 +379,7 @@ "width": 1440, "height": 900 }, - "sha256": "6d1fca627481c6411b3088b0eb8960537f64dcbf148c7d298feb937e104fdb59", + "sha256": "fcb524eb8c0a335d1fcae8bf6f9ef2a5df78d9bd92d7307f522034ea945c189b", "action": { "label": "Continue", "top": 713.078125, @@ -406,10 +406,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-foundation-desktop-light.png", "stage": "run-foundation", "theme": "light", @@ -419,7 +419,7 @@ "width": 1440, "height": 900 }, - "sha256": "1d0efc41060c669c837a8e2d7b3f113d131ad72d59778a90ebedfa7c4cab8350", + "sha256": "c9ede2b5aaf3b857c083a2488a362147ea7548dd2ffe365ee1be6c1b0d55db99", "action": { "label": "Continue", "top": 713.078125, @@ -446,10 +446,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-checks-desktop-light.png", "stage": "run-checks", "theme": "light", @@ -459,7 +459,7 @@ "width": 1440, "height": 900 }, - "sha256": "8c4a49ad8640381cc21f37be24f95cf39d83b4821c51d80af253b67c6cfd9f93", + "sha256": "547b960356f28ef17177c9c076c646457a353571e33146e4aba684fc9bca8e2b", "action": { "label": "Review run", "top": 713.078125, @@ -486,10 +486,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-review-desktop-light.png", "stage": "run-review", "theme": "light", @@ -499,7 +499,7 @@ "width": 1440, "height": 900 }, - "sha256": "b96314b1587aada58478f5287bbaf465c2bd4b3e21087ded1821ba3e56509bc1", + "sha256": "b8ec4b53e35567b6d64edfc090c8bc27014b6143a0b8d550faa85bfba8217601", "action": { "label": "Start building", "top": 713.078125, @@ -526,10 +526,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/factory-overview-desktop-light.png", "stage": "factory-overview", "theme": "light", @@ -539,17 +539,17 @@ "width": 1440, "height": 900 }, - "sha256": "b20420c2ec5c9aa672c1109a4fad7a7bcaeb427e7cbb1e19253bb48474d59400", + "sha256": "5d730bd979cc1e6a3471016757f002bdcc6561466b5e9da5e315e85541973c81", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-changes-desktop-light.png", "stage": "evidence-changes", "theme": "light", @@ -559,17 +559,17 @@ "width": 1440, "height": 900 }, - "sha256": "1f8a5d58676090c2633dc55ca1e5178d0b340aad7a1637260df21740f7cb239a", + "sha256": "ce7ed55e5d559fd45dfbfc4119e90c249d76b72cadb6037da220c20c563feb72", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-verification-desktop-light.png", "stage": "evidence-verification", "theme": "light", @@ -579,17 +579,17 @@ "width": 1440, "height": 900 }, - "sha256": "d164a2af0ac01e152c9cdbdb7cc1c5fcd03b24faeac2d581c6c190dd7bd858b8", + "sha256": "74a67ba08bee153d4bc79a0df69e21366d9ea30003e4eeeb0028aae3c046ea6e", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-plan-desktop-light.png", "stage": "evidence-plan", "theme": "light", @@ -599,17 +599,17 @@ "width": 1440, "height": 900 }, - "sha256": "727451ed76d857a1f35ac7ded1ea6f7d59b8489f11b97d68ecb20dda21d471d4", + "sha256": "cd47f4740cebe30ca30c44aa4fe00d70f306cdf40b96c1bcce7cb1fd2d6be9fc", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-artifacts-desktop-light.png", "stage": "evidence-artifacts", "theme": "light", @@ -619,17 +619,17 @@ "width": 1440, "height": 900 }, - "sha256": "00d46d97158727fe3535add4a37ed61298071f233dca510fe43b240bb7d69329", + "sha256": "fefbb22dffa1c5dbfa4cf122df0d6c887d1bade39fe1d12e7161f7ceb06d3d50", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-workspace-desktop-dark.png", "stage": "connect-workspace", "theme": "dark", @@ -639,7 +639,7 @@ "width": 1440, "height": 900 }, - "sha256": "e59f7a8f5d2fe421556d2f2dfd85e04f003db31a56123a1e96b715b370e632ed", + "sha256": "b9f9fca1fc30634e77d574bd9a7ac673dad5b741adc47688be09fd3448297d6d", "action": { "label": "Continue", "top": 713.078125, @@ -666,10 +666,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d869e8122bd10ddd1426712945a8ebea3f70e0add31c50ab7748eb01f63e7cfe", "action": { "label": "Continue", "top": 713.078125, @@ -706,10 +706,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-repositories-desktop-dark.png", "stage": "connect-repositories", "theme": "dark", @@ -719,7 +719,7 @@ "width": 1440, "height": 900 }, - "sha256": "68fa28ad672edae3d927f4fb2d85ad8e48a33bdbb9841b443f9a6793c9edbe69", + "sha256": "82a517d2f41291614c6259d2d02e58944229d163caf7b57bee01df69af8ff7cc", "action": { "label": "Continue to knowledge", "top": 713.078125, @@ -746,10 +746,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-knowledge-desktop-dark.png", "stage": "connect-knowledge", "theme": "dark", @@ -759,7 +759,7 @@ "width": 1440, "height": 900 }, - "sha256": "07896443f9118c4ebdc3832535d7b6394420c3bae830862b20e0024f7fd85118", + "sha256": "33f861691c96008b1fcd1dba840deceb43448719fa1c1c72a032f9227d83d405", "action": { "label": "Open production floor", "top": 713.078125, @@ -786,10 +786,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-context-desktop-dark.png", "stage": "product-context", "theme": "dark", @@ -799,7 +799,7 @@ "width": 1440, "height": 900 }, - "sha256": "c76083d9fa1018adbf7dd46d979a248f16b9d5fdda64fde4d5114eaedf1ca1b1", + "sha256": "27bcdb20c9678a957ec1484e26d9b89da4d9f5b3cdb064077ae158b6a857130f", "action": { "label": "Continue", "top": 738.15625, @@ -826,10 +826,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-journeys-desktop-dark.png", "stage": "product-journeys", "theme": "dark", @@ -839,7 +839,7 @@ "width": 1440, "height": 900 }, - "sha256": "cf49dd80ad30ae138a0127e7a8a2711058a42bab700aa8d82ef7643c83deb7ba", + "sha256": "3e3522aa8997d9203ba4836516f9f4f1552a123bb001b6d00158e45c210ebb98", "action": { "label": "Continue", "top": 738.15625, @@ -866,10 +866,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-features-desktop-dark.png", "stage": "product-features", "theme": "dark", @@ -879,7 +879,7 @@ "width": 1440, "height": 900 }, - "sha256": "71f00d56140072689ae3fd80033b7da8269e0f96a77f041019f2b17d9ec4dc55", + "sha256": "b77b13fe45464a76b2a42ff7f8fc27c4dc5fc2ad531f3ecdee5a5e4953baf12c", "action": { "label": "Continue", "top": 738.15625, @@ -906,10 +906,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-integrations-desktop-dark.png", "stage": "product-integrations", "theme": "dark", @@ -919,7 +919,7 @@ "width": 1440, "height": 900 }, - "sha256": "663f058ccd3fbec4635f010488f078a6fbacebde6e39d65f57013bd66937ce6a", + "sha256": "50a1e44b4aef60633aaf687510b2679b5e29915859c5acc23ba2970f8bc23dcd", "action": { "label": "Review definition", "top": 738.15625, @@ -946,10 +946,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-review-desktop-dark.png", "stage": "product-review", "theme": "dark", @@ -959,7 +959,7 @@ "width": 1440, "height": 900 }, - "sha256": "f440e85c76be0d6cce5b9d4def22c945ab3519e83b61add73912f82dc9ae7eb8", + "sha256": "e55d78d41411e9df508c6623077d07dfdf2993f025a5a4f8ef1844c0b00ae92c", "action": { "label": "Save draft definition", "top": 738.15625, @@ -986,10 +986,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-brief-desktop-dark.png", "stage": "run-brief", "theme": "dark", @@ -999,7 +999,7 @@ "width": 1440, "height": 900 }, - "sha256": "b2ebd0fc36ebe5f4e1f8b2661524a9b6cb32c2f118542de6978a13e3d4fad4a5", + "sha256": "4b6f4e49fad532fd7065b0c9cdcdfabc37fb827712beeb4bea9a600c20bd6cda", "action": { "label": "Continue", "top": 713.078125, @@ -1026,10 +1026,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-foundation-desktop-dark.png", "stage": "run-foundation", "theme": "dark", @@ -1039,7 +1039,7 @@ "width": 1440, "height": 900 }, - "sha256": "0f0c01ef506f4fc50491ae8a84b63acd6fb8f78095858531a56b1e6115b3a54d", + "sha256": "0c4f71f4ed2140274760c2ea1851fb8dfd63b7f46484a2808424e815c7abe28b", "action": { "label": "Continue", "top": 713.078125, @@ -1066,10 +1066,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-checks-desktop-dark.png", "stage": "run-checks", "theme": "dark", @@ -1079,7 +1079,7 @@ "width": 1440, "height": 900 }, - "sha256": "157ed57d73bc21be53ea0e0d6e8a3cd5453ee882ba168d1d5cbb6f19cbffca62", + "sha256": "3a62c1d2f958c1ab2beadcc9a50c57acd531c3c2d41df8e1d7c22da1a1029ba6", "action": { "label": "Review run", "top": 713.078125, @@ -1106,10 +1106,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-review-desktop-dark.png", "stage": "run-review", "theme": "dark", @@ -1119,7 +1119,7 @@ "width": 1440, "height": 900 }, - "sha256": "bbd77999daaa4dcd59c22b2219f2258682a9461bb250d3f6cb8aad149b4f2613", + "sha256": "50983a1bcdf8cdfb28f05629e9893a33097da68977eb6f0bea5a29f9772cada9", "action": { "label": "Start building", "top": 713.078125, @@ -1146,10 +1146,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/factory-overview-desktop-dark.png", "stage": "factory-overview", "theme": "dark", @@ -1159,17 +1159,17 @@ "width": 1440, "height": 900 }, - "sha256": "9e5aa3f007de0b41b9ffc1e095b26abe97194923ce67a373322887613e151f43", + "sha256": "aa7eb4db7fd823420b8595ced254a6afb3527db1ec62bc9b1c2d7f1a3d9dbbe4", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-changes-desktop-dark.png", "stage": "evidence-changes", "theme": "dark", @@ -1179,17 +1179,17 @@ "width": 1440, "height": 900 }, - "sha256": "5ea87fee9fb80edfb07d0e3caa933daac255e0a6a9f4fe0bd2b717ccc2f3225a", + "sha256": "8577d95ef6f4549a36fa840440e4f89b954fb203b516746bc52d425dd9129693", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-verification-desktop-dark.png", "stage": "evidence-verification", "theme": "dark", @@ -1199,17 +1199,17 @@ "width": 1440, "height": 900 }, - "sha256": "c3daaf2d6b31d28c29028488bc723dc8f0c1452a9dfba62b21104281eafd093e", + "sha256": "f686b12ddbe9fe90c2ba9590c4847c5984b59766a659b3b3058a75b23678c89a", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-plan-desktop-dark.png", "stage": "evidence-plan", "theme": "dark", @@ -1219,17 +1219,17 @@ "width": 1440, "height": 900 }, - "sha256": "2f9677eaedd25032ac31aeced60d7f6e9594c7710d5104bc705b77c6040265d7", + "sha256": "63c5c37ba03b0d3eafd5a2e5555c31e1483cc21b4e9d12a7dc356e08fc86d0df", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-artifacts-desktop-dark.png", "stage": "evidence-artifacts", "theme": "dark", @@ -1239,17 +1239,17 @@ "width": 1440, "height": 900 }, - "sha256": "bd2e25a834613a53508716fff38e54f395ee7fe5cbb9d38de4931b75e115e456", + "sha256": "2db8eb3b016b11c91f70c4f5ec1d030f4f41f08e15f15033a9efce9b72e50b78", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-workspace-mobile-light.png", "stage": "connect-workspace", "theme": "light", @@ -1259,7 +1259,7 @@ "width": 390, "height": 844 }, - "sha256": "3cfc737072eb2aa3e3057e950b1d043646b3d2a01144f2bdc811960608038893", + "sha256": "db4e0b3cca1565a88e9e9cd0a2b23e4e70f2c6dbdbc4bbd1c926eae4c923cfa0", "action": { "label": "Continue", "top": 693.078125, @@ -1286,10 +1286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "110e050e699037baabe7aafe938757659f83048daada29af8d75e41e555a56c1", "action": { "label": "Continue", "top": 693.078125, @@ -1326,10 +1326,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-repositories-mobile-light.png", "stage": "connect-repositories", "theme": "light", @@ -1339,7 +1339,7 @@ "width": 390, "height": 844 }, - "sha256": "a8f1bbdfbc2e34db6f42c7588ea529c4fc2c505ea827bbe3e5bda30623c6430e", + "sha256": "b3e7304796b17f7c8127518e063d7a052bb210b1dfdf43949d15eb8cfdf0e080", "action": { "label": "Continue to knowledge", "top": 585.921875, @@ -1366,10 +1366,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-knowledge-mobile-light.png", "stage": "connect-knowledge", "theme": "light", @@ -1379,7 +1379,7 @@ "width": 390, "height": 844 }, - "sha256": "134183e2e89ba684cd3ce6d09c3eeeefe933788ff254926ab1c23bdddcd2ef59", + "sha256": "ee499f7452eff2af026f1f40253d98c8bfbcb089fb30b5a8649f11cb7ddbc3be", "action": { "label": "Open production floor", "top": 693.078125, @@ -1406,10 +1406,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-context-mobile-light.png", "stage": "product-context", "theme": "light", @@ -1419,7 +1419,7 @@ "width": 390, "height": 844 }, - "sha256": "3b384a92c8deae71875ce3e026f4ececd3d0f84d78de9274744ccaa06b5e9a70", + "sha256": "1c9e5a3b0ba384227740be89ccc2e27ba0710e31f3c5522390839308f50742bf", "action": { "label": "Continue", "top": 714.09375, @@ -1446,10 +1446,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-journeys-mobile-light.png", "stage": "product-journeys", "theme": "light", @@ -1459,7 +1459,7 @@ "width": 390, "height": 844 }, - "sha256": "e6fd7364b88c439f2021f007a07d039c0702b5d09c33fee9799474c27745b2e8", + "sha256": "c8fa3df9ad65efb91d0051e348c973c29320631b5a1e475390a8bb31b18ebd84", "action": { "label": "Continue", "top": 729.6875, @@ -1486,10 +1486,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-features-mobile-light.png", "stage": "product-features", "theme": "light", @@ -1499,7 +1499,7 @@ "width": 390, "height": 844 }, - "sha256": "5d11c39336ad8404c815c694eb49188f3e694e14234c592ea97a0e6c7beac368", + "sha256": "cc399441a5aef5d687ad949125ded2f66a86465fa3500ce3ac0176db41e10331", "action": { "label": "Continue", "top": 713.71875, @@ -1526,10 +1526,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-integrations-mobile-light.png", "stage": "product-integrations", "theme": "light", @@ -1539,7 +1539,7 @@ "width": 390, "height": 844 }, - "sha256": "d5559674e34053d6dd4eb1a5fe275f7cec06d68883895a6ab61c402837696e9d", + "sha256": "2c629426d0b3f82549e7ecd17d3ac8acbc4e7700a49e81e0c6b3827f4baf50c5", "action": { "label": "Review definition", "top": 722.828125, @@ -1566,10 +1566,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-review-mobile-light.png", "stage": "product-review", "theme": "light", @@ -1579,7 +1579,7 @@ "width": 390, "height": 844 }, - "sha256": "347859d73fb4eb774947b10a33d445b1a39167c64249e4f32185626f04624e31", + "sha256": "41e139b0287c6b5885c1099f6db1d27ddd48e97b89e22ae81817197dbb78ebe0", "action": { "label": "Save draft definition", "top": 714.046875, @@ -1606,10 +1606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-brief-mobile-light.png", "stage": "run-brief", "theme": "light", @@ -1619,7 +1619,7 @@ "width": 390, "height": 844 }, - "sha256": "bad1455e358215385f2c4a422567f753951a662439b6b0f3275a4b12f5f3e8ee", + "sha256": "a0f1da2f33112aeb142fb94f65d74e6b9b8f00befc0101fab5005c6cd60f538b", "action": { "label": "Continue", "top": 693.078125, @@ -1646,10 +1646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-foundation-mobile-light.png", "stage": "run-foundation", "theme": "light", @@ -1659,7 +1659,7 @@ "width": 390, "height": 844 }, - "sha256": "375d6e7f8ee27c245ac27d6620bcb80a589c7eca60403e2d5cd74667bbf46cef", + "sha256": "08578bc49d0533ba84c9deb198ee6c0534fcfdacd3b4ac2dfe98078de68e2213", "action": { "label": "Continue", "top": 693.078125, @@ -1686,10 +1686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-checks-mobile-light.png", "stage": "run-checks", "theme": "light", @@ -1699,7 +1699,7 @@ "width": 390, "height": 844 }, - "sha256": "b631936d472f23e7fc82d096cbdbc4cd17957a2aa7f23c833d90792cbfaea1ad", + "sha256": "66fa19cd37f67e6c4f4f1be1228da1ef3b34d730b6716a63e49f47729a092971", "action": { "label": "Review run", "top": 693.078125, @@ -1726,10 +1726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-review-mobile-light.png", "stage": "run-review", "theme": "light", @@ -1739,7 +1739,7 @@ "width": 390, "height": 844 }, - "sha256": "b94553002c057e8e4310de3293d0fe458b4c2b0ac504d73b0b47f271bf8bd223", + "sha256": "d2fca1b5e339dbbc826a8d353923ab9ff9b9e764495dce1382a5622235af5c2f", "action": { "label": "Start building", "top": 693.078125, @@ -1766,10 +1766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/factory-overview-mobile-light.png", "stage": "factory-overview", "theme": "light", @@ -1779,17 +1779,17 @@ "width": 390, "height": 844 }, - "sha256": "1c41cfaadeca7bdd4669c7ab611e702373960bc25caa145c03229e038e8655c0", + "sha256": "ef8db4dd27a577889a47f0d3a474db286694f9632d3584174c222ef63d95de77", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-changes-mobile-light.png", "stage": "evidence-changes", "theme": "light", @@ -1799,17 +1799,17 @@ "width": 390, "height": 844 }, - "sha256": "0d4d996ac4ac8e8795d11b48d5685d367ef7e1b736647dd63fc9d66f6e9129d3", + "sha256": "580c81fde13fc0f1336b3045853185e45453f32c86b5cf5ae775114882a10aad", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-verification-mobile-light.png", "stage": "evidence-verification", "theme": "light", @@ -1819,17 +1819,17 @@ "width": 390, "height": 844 }, - "sha256": "6a8d58051e941081cb27f5c26a815a71250dc38c7eb2997944ebcc90d8f1231d", + "sha256": "ae19f8790c0a35d75874dc95c01ee95bcfd5d7d2e469ca3d969a58a6c07b8b0f", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-plan-mobile-light.png", "stage": "evidence-plan", "theme": "light", @@ -1839,17 +1839,17 @@ "width": 390, "height": 844 }, - "sha256": "2492847eba66778f9cb86a3e624fc2d07a72895a6ae9c435e39177d2a112fffc", + "sha256": "8bb8886ef0846fedb2ee800d8bd551360d6595c84b02caf87893fcf58789d6ec", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-artifacts-mobile-light.png", "stage": "evidence-artifacts", "theme": "light", @@ -1859,17 +1859,17 @@ "width": 390, "height": 844 }, - "sha256": "09925420af8c9e459d12d9b61dced4d93228f86f50f1a01a557ce6f3ae549036", + "sha256": "7b4d6d6184643a3c831746c64c0153cdf6111fe0956d5fd41f2f06f1ae8fa2c8", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-workspace-mobile-dark.png", "stage": "connect-workspace", "theme": "dark", @@ -1879,7 +1879,7 @@ "width": 390, "height": 844 }, - "sha256": "ed89d6a31b14a2dafe9b4c054e78ead3a4ddf5b952278fd037659d203946e817", + "sha256": "1be85d23c9814c8d535c5809196d99ee7ff656b2d79c2062248c3266a331deaf", "action": { "label": "Continue", "top": 693.078125, @@ -1906,10 +1906,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ff9633d383d752090db0b046101abc8d48614b6e11a3eb4ffe528b222c470ed9", "action": { "label": "Continue", "top": 693.078125, @@ -1946,10 +1946,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-repositories-mobile-dark.png", "stage": "connect-repositories", "theme": "dark", @@ -1959,7 +1959,7 @@ "width": 390, "height": 844 }, - "sha256": "f7bd08f38c2dc86753ef011e12faf1d86694bfba7abaafe5da2b3f953ab9fea4", + "sha256": "c038fde15bb35a6a19339717a08b0214bcdba558c08888e946c5a0df3692a3be", "action": { "label": "Continue to knowledge", "top": 585.921875, @@ -1986,10 +1986,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/connect-knowledge-mobile-dark.png", "stage": "connect-knowledge", "theme": "dark", @@ -1999,7 +1999,7 @@ "width": 390, "height": 844 }, - "sha256": "b96f48ea5232e2cb490ca704707c556aab49700020b1a0377a4aa2e693284e43", + "sha256": "ef6f893a816e03bbb65e9dbbc918aae75f91acd0490310aefdfe8c60ad2f629a", "action": { "label": "Open production floor", "top": 693.078125, @@ -2026,10 +2026,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-context-mobile-dark.png", "stage": "product-context", "theme": "dark", @@ -2039,7 +2039,7 @@ "width": 390, "height": 844 }, - "sha256": "a4d67ca3d84836d0512adb83eab6bedbb4a3679a7690cc8487e7e7dd81aeba36", + "sha256": "3d87a1522b3a372f7ad5001b2a92e6020f05116bbe8957791f19c3c05e43dc48", "action": { "label": "Continue", "top": 714.09375, @@ -2066,10 +2066,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-journeys-mobile-dark.png", "stage": "product-journeys", "theme": "dark", @@ -2079,7 +2079,7 @@ "width": 390, "height": 844 }, - "sha256": "3d6a09cd0be19fd20f148a8b17cddf8a64c67e07949700a23ee8eb2098019e4c", + "sha256": "44d88ef46c83b08d8d017ad4ad3e3538db0299bbc427ab2761aaff636669c4f4", "action": { "label": "Continue", "top": 729.6875, @@ -2106,10 +2106,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-features-mobile-dark.png", "stage": "product-features", "theme": "dark", @@ -2119,7 +2119,7 @@ "width": 390, "height": 844 }, - "sha256": "ad252e7df1446badd0959ea355fe50877034f50a0e7328f000eab18618087f2a", + "sha256": "63902366e1efc3f80a35794c09fb811b72f41c2a903e91119b11601b66b74416", "action": { "label": "Continue", "top": 713.71875, @@ -2146,10 +2146,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-integrations-mobile-dark.png", "stage": "product-integrations", "theme": "dark", @@ -2159,7 +2159,7 @@ "width": 390, "height": 844 }, - "sha256": "daae19cbea85b54abef2ca1ce0bf3fdd2a0635b3921bda3fba5905dba57acabb", + "sha256": "a5e628fa55a24e141fa1b18e2e4ec24f40601ba59186a0cd16d6aebb161de368", "action": { "label": "Review definition", "top": 722.828125, @@ -2186,10 +2186,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-review-mobile-dark.png", "stage": "product-review", "theme": "dark", @@ -2199,7 +2199,7 @@ "width": 390, "height": 844 }, - "sha256": "ebcfa604a1c9af377dd6e9054a25361fa4a575caae3ce5f8c834821a69307700", + "sha256": "90f7c61a4ca73b7c890ea827b53cc7d4143f2068b30bd20e70ef4e2c850267ba", "action": { "label": "Save draft definition", "top": 714.046875, @@ -2226,10 +2226,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-brief-mobile-dark.png", "stage": "run-brief", "theme": "dark", @@ -2239,7 +2239,7 @@ "width": 390, "height": 844 }, - "sha256": "8b5ee0dc09ce0583045efb543701384a01e9c1e7396d0ec4b8537e664a84ecd9", + "sha256": "b0c1f7c383d08bed77485426760c42eec0fd0668eab5f6172bc5a65b5b573c12", "action": { "label": "Continue", "top": 693.078125, @@ -2266,10 +2266,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-foundation-mobile-dark.png", "stage": "run-foundation", "theme": "dark", @@ -2279,7 +2279,7 @@ "width": 390, "height": 844 }, - "sha256": "753c6a0330427b98101b17db26335410d3b55230d1529b337b2fbda0140524a4", + "sha256": "6414cbc84313fc1b5f64c297178766c8f4e11778999db869921fe559c0c9c3c8", "action": { "label": "Continue", "top": 693.078125, @@ -2306,10 +2306,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-checks-mobile-dark.png", "stage": "run-checks", "theme": "dark", @@ -2319,7 +2319,7 @@ "width": 390, "height": 844 }, - "sha256": "f1f34875abdba686a2de1fda5c5e2da4a55f46e535be503456d20347e9d884f0", + "sha256": "9e5834de45d7c690228b02218afda6747e3954edf74c71aee4aede83d9c25cad", "action": { "label": "Review run", "top": 693.078125, @@ -2346,10 +2346,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-review-mobile-dark.png", "stage": "run-review", "theme": "dark", @@ -2359,7 +2359,7 @@ "width": 390, "height": 844 }, - "sha256": "41ce223962cd95523458e1304bf54c5f9c6e18c6ca5ea0e15b19fdfd60667012", + "sha256": "665818d8803ee595b760e81ad0847c8ac9a2a7778b302544a343cbff0692dc16", "action": { "label": "Start building", "top": 693.078125, @@ -2386,10 +2386,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/factory-overview-mobile-dark.png", "stage": "factory-overview", "theme": "dark", @@ -2399,17 +2399,17 @@ "width": 390, "height": 844 }, - "sha256": "ae13201819f1e2db5102fd2905a7dd182db916e076178787e53ad7b46bd6daa7", + "sha256": "5dfbb5efa2b8149b38f764943c88249467cec0dc836e92a94d331584cd1877ad", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-changes-mobile-dark.png", "stage": "evidence-changes", "theme": "dark", @@ -2419,17 +2419,17 @@ "width": 390, "height": 844 }, - "sha256": "a691fe8903b9bdaf7fc7fd83dfadc29454e152f1fa207c5cfe13ea6ceb0314a4", + "sha256": "8569d292f763d1f093eda81908c8e352308233eaac62d3293c637512bb8dffda", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-verification-mobile-dark.png", "stage": "evidence-verification", "theme": "dark", @@ -2439,17 +2439,17 @@ "width": 390, "height": 844 }, - "sha256": "6c3a28eda20bbc49ddf39564deaa0b0cc7978edcbb4842cb514dce1b84954768", + "sha256": "a4f056ffe81a80052e4308e323704bc3d28f6bab3a9bc917c2763242e4900c75", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-plan-mobile-dark.png", "stage": "evidence-plan", "theme": "dark", @@ -2459,17 +2459,17 @@ "width": 390, "height": 844 }, - "sha256": "4ce5f56425893318f2a942091db9c4b737526f772cfedb87dca986f64a5c8bbb", + "sha256": "46080d69148893532dc8eb1b200b036a908f67761d67082013f5dd799e72207d", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/evidence-artifacts-mobile-dark.png", "stage": "evidence-artifacts", "theme": "dark", @@ -2479,17 +2479,17 @@ "width": 390, "height": 844 }, - "sha256": "1e59f6cb74091173fdcff16d393e03ada1eecb717161af0c6dbddb4787ededfc", + "sha256": "0ce90bc65a4ff52f49204d1930850da6d51e84aced5cf0877ebb9704a53ed8ba", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-context-desktop-light.png", "stage": "run-context", "theme": "light", @@ -2499,17 +2499,17 @@ "width": 1440, "height": 900 }, - "sha256": "2300c5c99e03a6f7f6a207f49480571e39cefae29f9bdfc59f5eea4ab53c8ca4", + "sha256": "8e3aec8755864391dabcc1c95d60d33992f8e7dedcd96db80795ab0ecad383e4", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-context-desktop-dark.png", "stage": "run-context", "theme": "dark", @@ -2519,17 +2519,17 @@ "width": 1440, "height": 900 }, - "sha256": "16d9687283f697d4c90749351a2273ef18cb12f16ee2127493cad33001e733de", + "sha256": "dd56a9d4d299c50998cbde76fc30514cd26c4144f9684359ab82a0f81432dfe7", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-context-mobile-light.png", "stage": "run-context", "theme": "light", @@ -2539,17 +2539,17 @@ "width": 390, "height": 844 }, - "sha256": "76c628e5a6830a04a84f41b673744c77b204da84105b8e54bee2d251f0329f6e", + "sha256": "e77c032c17eb0a451cf458b619e42cef792a057988c501f6fb404f28c1b4228b", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-context-mobile-dark.png", "stage": "run-context", "theme": "dark", @@ -2559,17 +2559,17 @@ "width": 390, "height": 844 }, - "sha256": "054e6e0b01445403c9b1f291898a6ff130215648b4e108d88154c716ba41eb1c", + "sha256": "1fada363afb4181f0f58dadf6b94ad72a5705060916f47fa4bcee416cc53c52a", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-behavior-desktop-light.png", "stage": "product-behavior", "theme": "light", @@ -2579,7 +2579,7 @@ "width": 1440, "height": 900 }, - "sha256": "7b707e12ea873c7457f1e8a73320eb6941d689496f90e1d22804c3059db196a7", + "sha256": "db082692215c5b2d1ceb8ee3261dd08c081df88d178ebfeb69c0b87af6580a9d", "action": { "label": "Continue", "top": 738.15625, @@ -2606,10 +2606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-behavior-desktop-dark.png", "stage": "product-behavior", "theme": "dark", @@ -2619,7 +2619,7 @@ "width": 1440, "height": 900 }, - "sha256": "55e03c334f388b165d4111d18cb369ed04b40a628fab88ec48100765ef6c08d3", + "sha256": "84361615759dd389342ae4db4e19e7c5940b0da52d96115ebae4732d191e0383", "action": { "label": "Continue", "top": 738.15625, @@ -2646,10 +2646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-behavior-mobile-light.png", "stage": "product-behavior", "theme": "light", @@ -2659,7 +2659,7 @@ "width": 390, "height": 844 }, - "sha256": "c41290f92329844567e6504b547ba0919568bd5fcb6cd618b4120e3418d3167a", + "sha256": "5c7fc05a05f0201bd939290ecf2ba49582ce72b437e2505b6b693ef58761d353", "action": { "label": "Continue", "top": 714.046875, @@ -2686,10 +2686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/product-behavior-mobile-dark.png", "stage": "product-behavior", "theme": "dark", @@ -2699,7 +2699,7 @@ "width": 390, "height": 844 }, - "sha256": "3601d97e90a9a9626e693f58ff90c8cf6a3a5242320ba2cf3bdc9bfbfea2a36f", + "sha256": "98ece0cd8ab94f5c9772a3c4264ebde039839a1af5c842cbf62dfa4767ac6dc0", "action": { "label": "Continue", "top": 714.046875, @@ -2726,10 +2726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1135ac811c088385db74914cb274406766ec82c94e6e66a0450a90ba6d9aa451", "action": { "label": "Continue", "top": 738.15625, @@ -2766,10 +2766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "547b960356f28ef17177c9c076c646457a353571e33146e4aba684fc9bca8e2b", "action": { "label": "Review run", "top": 713.078125, @@ -2806,10 +2806,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "bb7408d089214d8a64f0d6e99bd9ec6c2659871ccf6780764681dc979a64ab4d", "action": { "label": "Continue", "top": 738.15625, @@ -2846,10 +2846,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3a62c1d2f958c1ab2beadcc9a50c57acd531c3c2d41df8e1d7c22da1a1029ba6", "action": { "label": "Review run", "top": 713.078125, @@ -2886,10 +2886,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-policies-desktop-light.png", "stage": "run-policies", "theme": "light", @@ -2899,7 +2899,7 @@ "width": 1440, "height": 900 }, - "sha256": "64b307a4fc7d31c770a922fbb350eeec2fed4f31852785680bdb56681cc875a5", + "sha256": "81eee1c0ce0ca60ddb2957e91737d34d72cd7d3c8c96512c582935773a71034e", "action": { "label": "Review run", "top": 713.078125, @@ -2926,10 +2926,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-policies-desktop-dark.png", "stage": "run-policies", "theme": "dark", @@ -2939,7 +2939,7 @@ "width": 1440, "height": 900 }, - "sha256": "776f08ee7cafce3c6ff736a7cae8be416d14143d219ed9c3496c21d0ada5f163", + "sha256": "69cae60fc7bf8980c56244538b96e0ebf5f204ba43036bb24dae2b33452a79bd", "action": { "label": "Review run", "top": 713.078125, @@ -2966,10 +2966,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3f78f15301fc7bfe50900ca4c79c344fd78eb38eac479264bbe5ee86fe253d65", "action": { "label": "Continue", "top": 714.046875, @@ -3006,10 +3006,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9d0c04fe3fe2a958b60043541410cc9f37eb7b3b8ce3aca84f9fdb7e05c6b1c1", "action": { "label": "Review run", "top": 693.078125, @@ -3046,10 +3046,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-policies-mobile-light.png", "stage": "run-policies", "theme": "light", @@ -3059,7 +3059,7 @@ "width": 390, "height": 844 }, - "sha256": "ee68ec11ab0e21c423f024333588ab4f244752a4f12d0ab6b8dbb4ec29f8b651", + "sha256": "ec5976e12d9943db0713825209f8f7d84b23b012095f1f1f687b03f1ffe0a9be", "action": { "label": "Review run", "top": 693.078125, @@ -3086,10 +3086,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "208dea549e91650b1e9087133e67bc6b5de185808244d3529d60dce6950fe743", "action": { "label": "Continue", "top": 714.046875, @@ -3126,10 +3126,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1fdf0d573e86076a104b50273178f7177e7f6252bf2c9f939720a98905532041", "action": { "label": "Review run", "top": 693.078125, @@ -3166,10 +3166,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/run-policies-mobile-dark.png", "stage": "run-policies", "theme": "dark", @@ -3179,7 +3179,7 @@ "width": 390, "height": 844 }, - "sha256": "dcc2ab88bf74f41de88f7a9f26db36ab775b511f25d6484741f10c919c1b1eca", + "sha256": "10ad4cb35d4c14ba9681f39c64c6523f1f50a41bfb1755666ed5a44a8d3591fd", "action": { "label": "Review run", "top": 693.078125, @@ -3206,10 +3206,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-provider-desktop-light.png", "stage": "search-provider", "theme": "light", @@ -3219,7 +3219,7 @@ "width": 1440, "height": 900 }, - "sha256": "f87a4877315c4bce94f00bd1b5780b162b4303c23a806366232772d029a43e93", + "sha256": "fec8c8dd3aa41d5672ea80be8c8a9229fe8b7bc2284e49b410f226fc4a94751d", "action": { "label": "Continue", "top": 498.15625, @@ -3246,10 +3246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-access-desktop-light.png", "stage": "search-access", "theme": "light", @@ -3259,7 +3259,7 @@ "width": 1440, "height": 900 }, - "sha256": "4b7c90346d05933b069f9e00866845c961c2df8174fc660ce6464edae78d2e7c", + "sha256": "6132567d8adc6fd5348369a0f5915105870d54f9997a4c5097fb7650edb502b8", "action": { "label": "Continue", "top": 672.03125, @@ -3286,10 +3286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-review-desktop-light.png", "stage": "search-review", "theme": "light", @@ -3299,7 +3299,7 @@ "width": 1440, "height": 900 }, - "sha256": "4ea5267b8e16643b7c69c74827bcb01b4abe68c23944a6f82e53519a887f405c", + "sha256": "897d838de287d9c64d81ffc32ece1cba9bec0503c09afb7e6a0bcdde19cb0d0c", "action": { "label": "Save search settings", "top": 591.953125, @@ -3326,10 +3326,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-saved-desktop-light.png", "stage": "search-saved", "theme": "light", @@ -3339,7 +3339,7 @@ "width": 1440, "height": 900 }, - "sha256": "649427c135ab630bb228ff6f801c9984c7526f6cbd3cd2e014b34db3bffdb985", + "sha256": "206f5c86681bd2916221f96c974d6250de96b59f5cf36bcd880c9a498201fb55", "action": { "label": "Test saved connection", "top": 501.78125, @@ -3366,10 +3366,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-provider-desktop-dark.png", "stage": "search-provider", "theme": "dark", @@ -3379,7 +3379,7 @@ "width": 1440, "height": 900 }, - "sha256": "5fb6e56049cd9a4880a4d09f5155f5b86954be9e32ac83def662b08d6b3ac852", + "sha256": "3808d555fb765f251011658ed916c0b758dde9af141833dc13781657e809bc61", "action": { "label": "Continue", "top": 498.15625, @@ -3406,10 +3406,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-access-desktop-dark.png", "stage": "search-access", "theme": "dark", @@ -3419,7 +3419,7 @@ "width": 1440, "height": 900 }, - "sha256": "d3d754776d55a19544ab343f7df4e37ab03e9a3c1c5ba49cb3c42282c496b041", + "sha256": "4356e4eb7d62e0c1389ae912873c670856f3eb851935f1602965704519f77232", "action": { "label": "Continue", "top": 672.03125, @@ -3446,10 +3446,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-review-desktop-dark.png", "stage": "search-review", "theme": "dark", @@ -3459,7 +3459,7 @@ "width": 1440, "height": 900 }, - "sha256": "da858b6d476a3adb3aaeaa0717f239dfa06418fae72a0df78fbc6f9b7749f330", + "sha256": "8787527ddb26eb1854566376e81aebe1e04b7cd154042edb995f7819351cde3b", "action": { "label": "Save search settings", "top": 591.953125, @@ -3486,10 +3486,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-saved-desktop-dark.png", "stage": "search-saved", "theme": "dark", @@ -3499,7 +3499,7 @@ "width": 1440, "height": 900 }, - "sha256": "57cb4eafb9ee645e00902b76f35092945d980ebfa09845f861a48ebb62f35dac", + "sha256": "e3f6b4f80fce8d7bfbe53cc364f976f1ae359213dacd553ca275fe6f89d816ae", "action": { "label": "Test saved connection", "top": 501.78125, @@ -3526,10 +3526,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-provider-mobile-light.png", "stage": "search-provider", "theme": "light", @@ -3539,7 +3539,7 @@ "width": 390, "height": 844 }, - "sha256": "490aee68eb313298aedd784a27507b0b4bff20b3d684f40a351c2f63731c9fff", + "sha256": "93d7dd48db13f014234fce802f39abc1d0794931ac5081ced8a3aa49d14d662c", "action": { "label": "Continue", "top": 505.359375, @@ -3566,10 +3566,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-access-mobile-light.png", "stage": "search-access", "theme": "light", @@ -3579,7 +3579,7 @@ "width": 390, "height": 844 }, - "sha256": "608af7b50e897025c9559e032609e715c6366b9f018876daafef1b991fb5d582", + "sha256": "c3e3c6b954f29b7438c68e933f52151e4451ef10c34976a18961b89f3ff7bec3", "action": { "label": "Continue", "top": 716.015625, @@ -3606,10 +3606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-review-mobile-light.png", "stage": "search-review", "theme": "light", @@ -3619,7 +3619,7 @@ "width": 390, "height": 844 }, - "sha256": "ffd4a3fe12764fc191ba2d3c2a531712d9cfca3af21f57753c74dd8bd9fd92d6", + "sha256": "b609daf27fb712a6c08a172ef9bb71b1a6fe9be21fec588505cf3eaf4c0e1c5d", "action": { "label": "Save search settings", "top": 622.921875, @@ -3646,10 +3646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-saved-mobile-light.png", "stage": "search-saved", "theme": "light", @@ -3659,7 +3659,7 @@ "width": 390, "height": 844 }, - "sha256": "5c3f32e77212169295fac6d3fa52c6c7cb44b0615e583257fd25c7ea1e7ca98b", + "sha256": "7f06d523464f369610f59280da258dae886019102288b538702e73320bd0d01a", "action": { "label": "Test saved connection", "top": 733.015625, @@ -3686,10 +3686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-provider-mobile-dark.png", "stage": "search-provider", "theme": "dark", @@ -3699,7 +3699,7 @@ "width": 390, "height": 844 }, - "sha256": "861a1be8155f889cf432f910a10b6d83b5153aaf6027de6f96a1a9a6007f8da2", + "sha256": "b8ff77490f1fad5af2b308850c8c58433885497c3d21bb53774a4d478a7bf399", "action": { "label": "Continue", "top": 505.359375, @@ -3726,10 +3726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-access-mobile-dark.png", "stage": "search-access", "theme": "dark", @@ -3739,7 +3739,7 @@ "width": 390, "height": 844 }, - "sha256": "1dfa76f0db824380e3b09d4645fa0336d53dea9965838d304387c5457f14eba6", + "sha256": "d186c6fbc3ae489d8c9b8db8d9d11be1ad91c8c9e0dac63f8138897ce9563e3b", "action": { "label": "Continue", "top": 716.015625, @@ -3766,10 +3766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-review-mobile-dark.png", "stage": "search-review", "theme": "dark", @@ -3779,7 +3779,7 @@ "width": 390, "height": 844 }, - "sha256": "9039e06dd46018f63fe6db070e83cc2e588f65a88f17a9fc117a462bee976b13", + "sha256": "cc4975bc14b88785e107508cc030b77a57635c7cc3fae7a196de2368d04d0e40", "action": { "label": "Save search settings", "top": 622.921875, @@ -3806,10 +3806,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/search-saved-mobile-dark.png", "stage": "search-saved", "theme": "dark", @@ -3819,7 +3819,7 @@ "width": 390, "height": 844 }, - "sha256": "e542929ead54d0cd648839c2e016398338b4686a19403da8a568af9d6782234d", + "sha256": "193b8f57086f447b26d66f5989e541cc26b256ae491219a1cc627bb2d7f77818", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-catalog-desktop-light.png", "stage": "external-catalog", "theme": "light", @@ -3859,17 +3859,17 @@ "width": 1440, "height": 900 }, - "sha256": "41a8e8397cb04663eb8192ab90d93c0c34e69b41017a0c94b154b2fa39231001", + "sha256": "729eea32492788149d8c1be563875e55f779739b40602b2409cec7334a2838c6", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-connection-desktop-light.png", "stage": "external-connection", "theme": "light", @@ -3879,7 +3879,7 @@ "width": 1440, "height": 900 }, - "sha256": "4cc6145e7d4be158eb133e5f05439575f79c870d5d7ac90ae1b61c126f1ee3c8", + "sha256": "875e45c79553d2fcac787968113dfac0ef92e95fe5883a5e1837403104ad7baa", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-discovery-desktop-light.png", "stage": "external-discovery", "theme": "light", @@ -3919,7 +3919,7 @@ "width": 1440, "height": 900 }, - "sha256": "dfd240bc57159dec6ffb16facd66d3069662344970dd12b74cea8b4f0b740543", + "sha256": "683a5f1e1801dbefef218f9385187c6d4a571b98e5491e3cf17a357986a84378", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ec62f7b4f83bfc169edb1c09586ae3167ca820495cc32e7f78162ae5a8bf47ff", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b959a8870ee6fb001199a5b8d9b8ee37f6f37f90965d18d431047e0ffe4dfd64", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "0cf9988031c0cdc62ea8002ce336e9c3fa6b01b5c62996a3645ddfcdd21fa9b6", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-project-desktop-light.png", "stage": "external-project", "theme": "light", @@ -4079,7 +4079,7 @@ "width": 1440, "height": 900 }, - "sha256": "e6eed2b1d70f5fcb6ed583f2752424d21c3089e0c35b30d2ef2d3c89028a2527", + "sha256": "8263a8c8aef06595601051966c49034282c4f942bd35deb29505d7187f2b9b78", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8263a8c8aef06595601051966c49034282c4f942bd35deb29505d7187f2b9b78", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8c9599bc211ebc0bf56cb06924a9cc08834c5da9fe4cae85c995b2bf475773b2", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-granted-desktop-light.png", "stage": "external-granted", "theme": "light", @@ -4199,7 +4199,7 @@ "width": 1440, "height": 900 }, - "sha256": "069942459ab7d8c82577a721196d6b73e304de4a59f964e5b06a1a58b21d8783", + "sha256": "1c9f2d61d128ec01b44ef4ba9897f121faa179200e0d6ff3e1a2c5af749a2102", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c2783f377b1d3da67b8d0bfd97749741bbe4f174ca96ed878cffb56ff61a3713", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e73e30f903f3c8d5cf89d8bb9e06df58643a10b30a41082271bf85ddfdb0f4b3", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b86ff036998fe20f40dfa84103e8ae9e94e04d1ebfedd954fdd19f5a2e87e664", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ae97f7d232e7f2de23b4a34fda448c55602c5ba7cf3ba1d7e9037d65fc5325cf", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "aab1eab7bfc230447a1ab6111accbf560d0dc7b3dba17e60f92577698a674fa2", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "91c912cca8bda766c7ca5b14648a9ba9a57a96f624590705b490ce665648bea6", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "93b12f06ea1e63681ad7bc5f2f2b852f9276be43af8d116c8f60f20c5e26c03c", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "985b9c5c4ca38bab3ca724290633e00ea694c92a74992ead8e36d5b40e3baa7b", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "6d611a2b20e8eea781f6e316dfd559dcdfed02697a0c2bb2518edd9881463475", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "32764e0e68211827809a0ab14b3481823a263c4180ca1e2f8d09fe5a08e6600a", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "dbf20f859148f9ae92feab992f68c60ecaa70c5094b5d11ed105ed097472ef1c", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1faf66adedce5ff1b8176efb67261ca637319725ccb547d752d3047d5288c4dd", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "f3da3378cf41cac6e5374cf9d82f5fca8001005a22bae8b91bf68696e29c90ba", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "50c71920824fadff0131f271dabde4a7bc3553c7a7a9f3f04c475c0210e87b64", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3768ca9fdb3c2539c389e48b1184500c7bac00af251e7ac46cfa13b91e9f4903", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "93cde5a1248048c7e31b868b9926189ee0da526ddbde47eedc82efb70cfd5cb1", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "de5819656838cff97f7553a9463f020bc819607d6ee3e901f5ad8e43bdf326a3", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "291cac30d928be8edcfd39179fe1fa8e5bc08654d6840cbeee38db1995e17daa", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "bf00fca2b612108b223f6de06528b6546d8a93c521ee105262e444ed266208b0", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "54923d5d82ab1986a0c0a93f24211c5fb8a9385a17aa4de352249e4d58de4eed", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-catalog-desktop-dark.png", "stage": "external-catalog", "theme": "dark", @@ -5039,17 +5039,17 @@ "width": 1440, "height": 900 }, - "sha256": "a72c38020a1406f0f26be173213ccdefbff4a8e032664915f6744cbb76fe9d78", + "sha256": "3df2052d221f960471dff854c0264d0715b721d9fbe84711c7edac9fadb0ffd6", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-connection-desktop-dark.png", "stage": "external-connection", "theme": "dark", @@ -5059,7 +5059,7 @@ "width": 1440, "height": 900 }, - "sha256": "0dffb72b19b04597fde5d5a03ac18a931322e6c5fe4f807abebb961b30f2eb54", + "sha256": "bfc883ac8e955522ef57efc1389b6321904eaeaef5190e9842418ea796bc194a", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-discovery-desktop-dark.png", "stage": "external-discovery", "theme": "dark", @@ -5099,7 +5099,7 @@ "width": 1440, "height": 900 }, - "sha256": "6075c4195c3440f3f3f98c44d580c7cc108b49ade486b7d0c65b49bde98ee9db", + "sha256": "0390346f7f0bd9095663b4a523c38afeede44466e89420f9947fa82c3d0b8536", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "55b206c80bec0db3b48d3294f48cf7ecfbf3497eeb16ac3b970ffc66a3272e96", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d1cec08e3b8712cafb0cc438152ec8bc7ba544dee7722277e8935d47f4b0d79c", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "fcb604ea68f65dfea56383eb879d7bf017e16235fe5eacd2f4d1feeeab489ca7", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-project-desktop-dark.png", "stage": "external-project", "theme": "dark", @@ -5259,7 +5259,7 @@ "width": 1440, "height": 900 }, - "sha256": "7b3486f803d68be017d8a785f2ebc614a0f9d9074774fe5d970e0eb960f103bd", + "sha256": "f40832238d59bc15429ac0f5e2b1c07a41aa9bfd21af7d814738114b66c44393", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "f40832238d59bc15429ac0f5e2b1c07a41aa9bfd21af7d814738114b66c44393", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d7fd223b2db28fe6a42d3ef9f7f3f9cc9924e89fe01717180e5a0b9141d4de9a", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-granted-desktop-dark.png", "stage": "external-granted", "theme": "dark", @@ -5379,7 +5379,7 @@ "width": 1440, "height": 900 }, - "sha256": "06bad7cdafdbf38a1deca0c69d45acc18f3df788cd2243e8569b404d50e90a83", + "sha256": "7bd21bdf6deb93190eb8906c20c94a25bcf475cd77599b47e8da9acb213a0916", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "453eaa1751449d9bee1d71437237ff9a8deafd0f03922243c74ec7de137b1b79", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d0ee7cea009e2f8e7d29e3d84f18afb9686a26682b1eae6b035b63b1c7876a48", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ea65f360ee6648a46de2aea27fe5ac4d46c505c39d7b1e6897b53898dd9c2317", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "93eb00048e26df81afe25027f1e433e6a8d3942d32ee28e2ab2f4bac5d4a1f64", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1b38e86dd6ad562cce405cc4c0124b870eac8e2af35b8b1be72361548dfc2b4c", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d2aff207209e7f887a3f3e7d32eab72801fb439989f3d30734cfbdd29ecb8710", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "504e013d7360b50aa49cc45034b611cab38337ee6d8264578319323ccf735dc4", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a56e2fee9b462d4aa9658d936b7403e059a65611757266c020800351e34e9937", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2801010e07eef98a4cce441825b1f56ada8ac42537c53a9ea95fc946eea02d98", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "442c2cf69203fdebccbd22e2b7f558842d39ae785aab28fab43dfd42f7603764", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "578278405950b3c31c92aea4e6ae84f18e249b1396fd392841128f1a9728b498", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "048234f2229cace228a630073b9c79d252a27ec938a072a938c49c2c556c1a45", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "76c53488ab277cbe4100d3880c03f9687fe0d3138d749570c428bed3aa3aa8de", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "69a8f7c7093107d0606d60f9ef698cdd03162cfd5e24650a18590892e483396a", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e98cfdd68af4c22128f063822b52074e77e2d9262b832f955b5469a376184e56", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ef6489da89ecfaf1e7a1c6b777ddc3f088f3884ee083a85ab9b00f45df501d6e", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "921a407e18a724f489f9f12bb187114d13d25c3cee926ef4a43ecc74c20743cd", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "01c6bff6f10f38526868db1901e8420a0c1bb62f66ea4441532709eed3fe1a5c", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c1c04fd561643b89efe92b235e11af251f70e3a2612032b7c11f2a668da05935", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "91b52a39377a33bc2dd16c80c565d4ac0fc5881474bef96ed709b6e0d84f819b", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-catalog-mobile-light.png", "stage": "external-catalog", "theme": "light", @@ -6219,17 +6219,17 @@ "width": 390, "height": 844 }, - "sha256": "eff17deb011d819313d1b247fa2d1cbc28f00a625d409a767810d56facff2513", + "sha256": "7c322507cdab39fba019386d30072dd944c3d5e9f28989209c611a41d0d4397a", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-connection-mobile-light.png", "stage": "external-connection", "theme": "light", @@ -6239,7 +6239,7 @@ "width": 390, "height": 844 }, - "sha256": "bc67f303bb6f2346835829544be81c36c75deb70897a4db64ffadc1edc53c7e0", + "sha256": "c148308f1e479a9ffd4c371478409fa3d07a6fa4b092758fd38bd47182f1f184", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-discovery-mobile-light.png", "stage": "external-discovery", "theme": "light", @@ -6279,7 +6279,7 @@ "width": 390, "height": 844 }, - "sha256": "f9e347968036077c414c8858f2e75ab2ef849f8bbb43b8ffbc37971f554bb380", + "sha256": "b7d52a662af7390beebd873fb916240dec8b7f9ff781386dd10c463c4a9fa5a5", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "43e5d7092cdc801267c83aba22377853e5e1e4cb33c41e6f67a057ef37c75891", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b6c3a4d001220264a23560b324b5a164a2c6cb75de9d1194d4a51ca9db408e08", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9b56fee9f857bbc755de7dc4723df61d0438e0ed916bf27eb7b202ea3a63132b", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-project-mobile-light.png", "stage": "external-project", "theme": "light", @@ -6439,7 +6439,7 @@ "width": 390, "height": 844 }, - "sha256": "eaa602da8f12d9411a12b41fd08b56778aa6207c828ee99a9c760ba5af7ff7d8", + "sha256": "0f03a41365e6ab81ce1bbb89c89e7e374c575f70cfce1df5a603e80242c66d15", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "0f03a41365e6ab81ce1bbb89c89e7e374c575f70cfce1df5a603e80242c66d15", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a795af343eaf3022af571ede1014e28ec9f7ad5eb4ed15e87b256e68573ed5ea", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-granted-mobile-light.png", "stage": "external-granted", "theme": "light", @@ -6559,7 +6559,7 @@ "width": 390, "height": 844 }, - "sha256": "1216977f073f5e09871d78a570035f6bcdc0b07cf3847c26892de28ebe12ed9f", + "sha256": "f32433dc48f53f1fa976e15a528cee104d769956327716c744109596f2c73b23", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "7af7843d274cea4bd40b5aeeed5abcbf6b17142e9f14add9d2a14bee4de56da7", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ac49d2daaa0a8b638a72b63a57fb98be4fc74b2171789faeb13c6eadfb51e01d", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "969b0827e1f86f7da0c0776bea66c18d72923d446df6221df119fd6c07723b4b", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2ab8309e6334bdb598f8c11e84c03736fbaff00cb88c7399f803285a4de6f5a1", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "25d371b68137358c2c797534757f457776302db755654b27c649280d4a525055", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ec7f2fee2c20b46bd627479081be504497f2b71ed50599039c26f0f693216f4a", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b37df9c87806474f2a8a22e55a23c66b4cdc87f29764bf0c07c386537dae55b2", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "cefdcb34474b0bde41b1e77b59248ecf64af08871f3721f14393062566b54792", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "db8db81260d87313bec6cda4f46cd5d2809b74165603aedbaa6f1c36b572b0f6", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "7d6de827ab520527b7cfc66f1cca263959296ccb09ee43d37c304cffce058ed9", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a5eee3b03a816d0c5fddf73c658d387537015a36e44e615257a6f78ddd191ca8", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b108261bcf130b6b52c1f7a6c755c8f6ba924db7dce18ddca5bd4e6d33558165", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "fe814cce6de70a23ca844afed77ab5711456095f7cb9a081415216d83ac3aec3", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "de822e1331fbe34615e317fb5235332f66939c342a01a43bd3f6b4a52c45c153", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "efd546e0ffc7300eddbaf540c7f114fa0638a34cf77c5320061cbd81a3fc5e77", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "07fed45e85cff0cd63a71b004611ade37dbd083477828a8b6597a5746b980704", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "38b4f04e06f72e6ed7061cd4d738cf93aec29f12d0ec1783d0ed826a20cf47aa", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "66e03aeb1242d4c294c1a17e0604b10ee34371db0c9646d740b432de20f39e28", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c8a8a1099c299db6881d1f72a09876656aa1032aaaa94ce5a11ec7d3b83f59ea", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "052a47ee4f47c5df1b8eb6f9f90bfe3617fa655830be6e77849f9e20f8b4cb42", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-catalog-mobile-dark.png", "stage": "external-catalog", "theme": "dark", @@ -7399,17 +7399,17 @@ "width": 390, "height": 844 }, - "sha256": "c2f87fb8c545290b008a9253b703c4e8e5d23721c17f2cc0a9653e3a494ffcf0", + "sha256": "6036f1a6739b480bd62eb5da1d0d454dc8cc519b9297c9564d3eb1b400035a3a", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-connection-mobile-dark.png", "stage": "external-connection", "theme": "dark", @@ -7419,7 +7419,7 @@ "width": 390, "height": 844 }, - "sha256": "6170b819896416e00d9c8792589d6f30b3886ff73f457c5aecac6187cb470bfa", + "sha256": "2ede3d32581ba4b001cdbaed2174fe731b22ea6eadff69cecfdc4be383831e43", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-discovery-mobile-dark.png", "stage": "external-discovery", "theme": "dark", @@ -7459,7 +7459,7 @@ "width": 390, "height": 844 }, - "sha256": "d7bda3c4106f8cfe799a2dda66f42a42e9482c9f9114af6c22b3eedca232a4cb", + "sha256": "09e196394e216ff3f8753b959c7363a5be5214f3cdc8a54e8b2509f986924043", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "454f481beeb998970545d31d540e28a34cf5056de9126e133bc695b136ec579b", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8e8dd2bb83332ffad9a11a77aa80843902dbe54a515f4742dab5d3bb17d67d6f", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "06042d6815a9dc4a582d8f44e45abf545ad7b62b25f71d5095ce716fe9c2a083", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-project-mobile-dark.png", "stage": "external-project", "theme": "dark", @@ -7619,7 +7619,7 @@ "width": 390, "height": 844 }, - "sha256": "a2c3f2a5d38521be382fead64bc66e45b0b0d80ea6f517138f0d4228662d5315", + "sha256": "d915db969c9ed89660280ec08402950f87cba1f1d1944949370e001fabe35e36", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d915db969c9ed89660280ec08402950f87cba1f1d1944949370e001fabe35e36", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "30167b7e3ad7e453ba07006ecf9f3c37465cd501e55157c8d7d0332b2c071178", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/external-granted-mobile-dark.png", "stage": "external-granted", "theme": "dark", @@ -7739,7 +7739,7 @@ "width": 390, "height": 844 }, - "sha256": "bd8bb17b8306b12c3fadcf8f48b0177fe2aff245936e9f9c8d22970031a32b05", + "sha256": "b1a49b739c6b1aaf0135ed883462a231c9c9f56c76520f03861a70ec4b14833f", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "fbf1c5385b3ea03ff458bf98acc3814f2a6ad806af9c1f68babfadf9b4bfead3", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d025eacaeb6b7d9d31a79ef1e484ab5f151ef7b581a2ff3a16844434e730d854", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3232c719b3faab5d90bccbcbcbfd9bfd646dc9af4484847821744cfd2052b721", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "78bef7ebeebbb0282e89d834761017127920eb0a0f02234de5a0be20d4ea44fe", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "bad2294fa2670ab164b01131886c3c8d70effbccca5fccbc47509b7494c0bc9e", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ef908e53251504dbc9887fac2c20243383675e8c51e77fbe64f91dd415edf5b7", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "513e5eebb0694ec0d4bf5bc79a33341595d6d86f432405ecb1d8c0b47dbb388d", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e2e99f227b91a72b63285776282aceafac72ba49ee33e7bbd91ff9f74d114624", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "759165a53663731405685a77af02e7066c7eaa3484ce779a8d147e1288a838ea", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "14da7e54303e081cbbd9e09644dbf0fd52bf555922efdb2abe3e38bd68064e65", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c22dc0491efda0f41b7e1a976d2c8b4e5d5cf264faf0a941632f6bfe3971c140", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "54ddf9e940a47bc4dbd7f9a1a64923f70819fdf19ed115a26b7defab9a657157", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "cea62ece68cb2d5474a4a68f4672fb3fa2ebf5d25b7e0a636395fbfba99b2b83", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e90478e45ca1de596f50b00998bc55a3577f3cb102072057a237b3cafd2e812f", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "71982643fd20cadf3a14e31bd0e29ec9e781a27f1d49e4145a8905e10f8c4784", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e41e563627e646e4369d5f06733c1ec5c2f612bebf5c35448075e363b391a593", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "f2473e624e91536046c8a2bcd3c6305446b115367ddf81a33efbe88ca609889d", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a32a11fdb2ba114b4ee02ff17ebd69931fc213841502cf5024ee8805ef854844", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "77e72e35e7913cae31dde91a7c77b818c9beeab8f8739f02a63e9016cf460726", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ca90fd020dbdefdb157be361cf6587c0e4811eacddc1bd2cc4ca48ffe3143ee3", "action": { "label": "External template unavailable", "top": 693.5, @@ -8566,10 +8566,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-knowledge-desktop-light.png", "stage": "learning-knowledge", "theme": "light", @@ -8579,7 +8579,7 @@ "width": 1440, "height": 900 }, - "sha256": "e86e77fe4ab56badfc031067a0a5880b639f7e8c2afa1418312433bfe94e0b82", + "sha256": "f01f3d35bc24b664ebcbf5c5d9b4c5735fc99458d040b0cd18abbc2f234dc1f6", "action": { "label": "Continue", "top": 713.078125, @@ -8606,10 +8606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-limits-desktop-light.png", "stage": "learning-limits", "theme": "light", @@ -8619,7 +8619,7 @@ "width": 1440, "height": 900 }, - "sha256": "6efecd17766bfde9567633a7de99d4a8d59e59dbafc7b0236be631f538c3cecd", + "sha256": "5b02c2d009ded4d274131bedb9b7ab8d90a72ed93f53d95b766f97377bd294d5", "action": { "label": "Continue", "top": 713.078125, @@ -8646,10 +8646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-review-desktop-light.png", "stage": "learning-review", "theme": "light", @@ -8659,7 +8659,7 @@ "width": 1440, "height": 900 }, - "sha256": "c9d523d94c9f779a67b75f2abf45c07605c3675ba4ec9019e692d588dc0cfe89", + "sha256": "e3f0182883c34912eba759bb9e9aa9e217d9de3df34003dd1fbf87d932368717", "action": { "label": "Save learning settings", "top": 713.078125, @@ -8686,10 +8686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-saved-desktop-light.png", "stage": "learning-saved", "theme": "light", @@ -8699,7 +8699,7 @@ "width": 1440, "height": 900 }, - "sha256": "87efc48ae687d1225eeb5cbcb058df400e69c6eb80fc1b29195dd6d007774d67", + "sha256": "aa9b5aa8d352e15c88221200439a4140fe3c7f306a9fac84aaa6a308c3473f67", "action": { "label": "Edit learning settings", "top": 672.484375, @@ -8726,10 +8726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-knowledge-desktop-dark.png", "stage": "learning-knowledge", "theme": "dark", @@ -8739,7 +8739,7 @@ "width": 1440, "height": 900 }, - "sha256": "4342190cc45b0ccf1c7a593e0fc3a9f5449ddf09a846fd6b79ada31041f67927", + "sha256": "81ec6ec530b1143635941b3de026a4dcc62e33c8d4215b38e9bae708c33e2b96", "action": { "label": "Continue", "top": 713.078125, @@ -8766,10 +8766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-limits-desktop-dark.png", "stage": "learning-limits", "theme": "dark", @@ -8779,7 +8779,7 @@ "width": 1440, "height": 900 }, - "sha256": "26f38491d05c32a5e8b7fac73fa2cae5ecc72166a0873842addce7eaf057b468", + "sha256": "f4b6d35549d1b6e6813d5410d775c369d17c391a7c21839a14c7ff4113e5a353", "action": { "label": "Continue", "top": 713.078125, @@ -8806,10 +8806,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-review-desktop-dark.png", "stage": "learning-review", "theme": "dark", @@ -8819,7 +8819,7 @@ "width": 1440, "height": 900 }, - "sha256": "eeb259b526f8decc8966adc756a071f4fc8ed7fe483db832ccefb3b1b681c807", + "sha256": "0034e4e3992c418023ebcd55b3640964a93ce98f2a2fbf11e84145721e2afbee", "action": { "label": "Save learning settings", "top": 713.078125, @@ -8846,10 +8846,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-saved-desktop-dark.png", "stage": "learning-saved", "theme": "dark", @@ -8859,7 +8859,7 @@ "width": 1440, "height": 900 }, - "sha256": "89ae2967e8a220b26b08003c03680c54781431b5e500fef31ad7ef99ddb735be", + "sha256": "8b181e99240e6aff2b532c0420fd7a08c51f702b03485a046ced972708e5ce38", "action": { "label": "Edit learning settings", "top": 672.484375, @@ -8886,10 +8886,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-knowledge-mobile-light.png", "stage": "learning-knowledge", "theme": "light", @@ -8899,7 +8899,7 @@ "width": 390, "height": 844 }, - "sha256": "965c9db0b65841240422d569aba2749700b04b48f96fc288a250a23eba6713ca", + "sha256": "80e96b6235f808fb7d7df860769839538b8970a37f030f3ef766be5d9a603899", "action": { "label": "Continue", "top": 693.078125, @@ -8926,10 +8926,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-limits-mobile-light.png", "stage": "learning-limits", "theme": "light", @@ -8939,7 +8939,7 @@ "width": 390, "height": 844 }, - "sha256": "5f9169dca930a321afdb6dec8a2a7539cd8c47be21d0cb25e8e292ba59dcfd48", + "sha256": "de0c174bef242a9a3b02613e516bf6988289a4d6f64a9810264ed0d5bde94cd6", "action": { "label": "Continue", "top": 693.078125, @@ -8966,10 +8966,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-review-mobile-light.png", "stage": "learning-review", "theme": "light", @@ -8979,7 +8979,7 @@ "width": 390, "height": 844 }, - "sha256": "5d7c3a8a21f65cc36d1296b368512dd5dca7ccf3e4bf39a0aee631c50337e461", + "sha256": "aac6397e8ffd620716e720dd95b1f9cd2aa4e36d7a399d5298b95f040e380ca5", "action": { "label": "Save learning settings", "top": 693.078125, @@ -9006,10 +9006,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-saved-mobile-light.png", "stage": "learning-saved", "theme": "light", @@ -9019,7 +9019,7 @@ "width": 390, "height": 844 }, - "sha256": "83e9df4e55e03914a1473cb52187fa4639a22b7ba5e4a1ec66438a34dedf75b2", + "sha256": "df2416b1067310f07eaf9d172b389152af3107e1848bc076ac38eec0808c4213", "action": { "label": "Edit learning settings", "top": 649.171875, @@ -9046,10 +9046,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-knowledge-mobile-dark.png", "stage": "learning-knowledge", "theme": "dark", @@ -9059,7 +9059,7 @@ "width": 390, "height": 844 }, - "sha256": "533177938f39b063936e5fae4eb7a0db9f853396f7cdb78a1a66d17cee3bf8b4", + "sha256": "2f0e6867adfcdc98fa21c89d66533f69ed059db647fab5d1407082869d4439a5", "action": { "label": "Continue", "top": 693.078125, @@ -9086,10 +9086,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-limits-mobile-dark.png", "stage": "learning-limits", "theme": "dark", @@ -9099,7 +9099,7 @@ "width": 390, "height": 844 }, - "sha256": "ff508ba5bf8debd5b2d35818a6df7c8b3353973cfa4e8e987723493ac66fd720", + "sha256": "e8cae69e592a38c12f3372f4477869b5a26ccf2d4c14744adb5d000a7b7b5026", "action": { "label": "Continue", "top": 693.078125, @@ -9126,10 +9126,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-review-mobile-dark.png", "stage": "learning-review", "theme": "dark", @@ -9139,7 +9139,7 @@ "width": 390, "height": 844 }, - "sha256": "9a2fbadf509afc32f50bb70c4eebb46c0b0d2c994b176d4a8f4638d3594ab18c", + "sha256": "d46ba01e0710f42796772de7cf5000c8b6c02de4d172a94f050d5549e52df668", "action": { "label": "Save learning settings", "top": 693.078125, @@ -9166,10 +9166,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-saved-mobile-dark.png", "stage": "learning-saved", "theme": "dark", @@ -9179,7 +9179,7 @@ "width": 390, "height": 844 }, - "sha256": "0d3097c1ef7183080aa96d311054ae8538dab1b5a2773680df4b2e255e56ce8f", + "sha256": "9e0e92c07d33e138155cb45edd4c43ca316faf284ec569077a474c20e54fc34c", "action": { "label": "Edit learning settings", "top": 649.171875, @@ -9206,10 +9206,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-records-desktop-light.png", "stage": "learning-records", "theme": "light", @@ -9219,7 +9219,7 @@ "width": 1440, "height": 900 }, - "sha256": "001bc9504c40ac7ee16d4ef7aa4875457248fb912b678307c08cd1a9a6f31278", + "sha256": "657f23a823bf5e6503ee0fd52c62409b50cc3b2c6a26004e5c6d8e8158217e8f", "action": { "label": "Refresh records", "top": 409.796875, @@ -9246,10 +9246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-projection-desktop-light.png", "stage": "learning-projection", "theme": "light", @@ -9259,17 +9259,17 @@ "width": 1440, "height": 900 }, - "sha256": "b062b825ac4acdf9df6a23ccea928b7c8a6e0d4153435d547bf1cfbd4359f32b", + "sha256": "75c4170777ebcb6b68eec767da859e1ca491256e2cff9d681dd4b381446a446e", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-provenance-desktop-light.png", "stage": "learning-provenance", "theme": "light", @@ -9279,17 +9279,17 @@ "width": 1440, "height": 900 }, - "sha256": "6b966c2001066e860aa9938907c746d46d9d4f7ffb2aa5215b40b6de967bede7", + "sha256": "1cdfc1f565d2760ce5ac120595dcda62ef31b751c9b6ce47f3455d1f5d5f86d7", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-candidate-desktop-light.png", "stage": "learning-candidate", "theme": "light", @@ -9299,17 +9299,17 @@ "width": 1440, "height": 900 }, - "sha256": "970666f8e93eaaae3b0640decc94d970b4dbb75a89531ed16044cf4327966050", + "sha256": "9f2576f9743e473d44a7b2fd59cbbc5c321dc067827daa4a8c1dce1705e1dc4a", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-records-desktop-dark.png", "stage": "learning-records", "theme": "dark", @@ -9319,7 +9319,7 @@ "width": 1440, "height": 900 }, - "sha256": "90fd7553366892a6053e40913450f3f458fee0ced601b1c9d0353b91ccec1b73", + "sha256": "eb4fc8990264c635e135bc3f77acca365bc9765aac58b1724afd437abab37b71", "action": { "label": "Refresh records", "top": 409.796875, @@ -9346,10 +9346,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-projection-desktop-dark.png", "stage": "learning-projection", "theme": "dark", @@ -9359,17 +9359,17 @@ "width": 1440, "height": 900 }, - "sha256": "f75b92346db7c0b01b09f1e361a5a7a48b00d567b6584cf8ee169750100aa0e7", + "sha256": "2aabb0b798ac969e4156fad8eb4947d1a125e30138798882154a056441b95f9e", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-provenance-desktop-dark.png", "stage": "learning-provenance", "theme": "dark", @@ -9379,17 +9379,17 @@ "width": 1440, "height": 900 }, - "sha256": "6e842a9c126c6221de2e85afce9afd2211f6f45b30acf33e8855106aa1ba2015", + "sha256": "6020133d3caac9fad48618a21645a5d94b336be13856a341a9a66f5a61c7966f", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-candidate-desktop-dark.png", "stage": "learning-candidate", "theme": "dark", @@ -9399,17 +9399,17 @@ "width": 1440, "height": 900 }, - "sha256": "36736e3ef713479d13d6d98c2212263c9ecfce64c5d106ee62b690d522b53c64", + "sha256": "5b59e7c9747f10a7914437c60144b53b4fa6535bfe15e8fb1113d0116cf3079f", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-records-mobile-light.png", "stage": "learning-records", "theme": "light", @@ -9419,7 +9419,7 @@ "width": 390, "height": 844 }, - "sha256": "05ed2c896ce6b8361b9192fa56fa76edf8797e784c17bde28da91cac8754684a", + "sha256": "c1edd8555f442197de05a16027a340881c31dc1b5afd56e1fcfe9dd3f2944423", "action": { "label": "Refresh records", "top": 256.828125, @@ -9446,10 +9446,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-projection-mobile-light.png", "stage": "learning-projection", "theme": "light", @@ -9459,17 +9459,17 @@ "width": 390, "height": 844 }, - "sha256": "d861ee36e08fd7824e143703b15f52a210085c9244801a15fb9a31572f056604", + "sha256": "7c87c1c6d1c3379cdf5b1afde07e011ea1d42cf828fe7a93e647c1861da2c4b7", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-provenance-mobile-light.png", "stage": "learning-provenance", "theme": "light", @@ -9479,17 +9479,17 @@ "width": 390, "height": 844 }, - "sha256": "03cb7c7f42c867dda5a45656c83fe5caec1175c128151189de565389e6506d4a", + "sha256": "823b301ba449b121a089422c22d6eb40495a46efcc40132c3db43a9d6bb22872", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-candidate-mobile-light.png", "stage": "learning-candidate", "theme": "light", @@ -9499,17 +9499,17 @@ "width": 390, "height": 844 }, - "sha256": "a8e8e5dae6a66727b4d1857540323d8b1443c54afe5b74a4c285a10425e8d3c9", + "sha256": "1345d248d26fbde71881a5f91403736db4a87877c1fdccf19dc1ec3eb449f710", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-records-mobile-dark.png", "stage": "learning-records", "theme": "dark", @@ -9519,7 +9519,7 @@ "width": 390, "height": 844 }, - "sha256": "19e39ff216e504ce2925207d1f859f66fd59c11923481af781ea17873592ebe0", + "sha256": "5f8150190df97555fae9f1e851e4b6c8434fe227c3df32605a767302dd37b492", "action": { "label": "Refresh records", "top": 256.828125, @@ -9546,10 +9546,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-projection-mobile-dark.png", "stage": "learning-projection", "theme": "dark", @@ -9559,17 +9559,17 @@ "width": 390, "height": 844 }, - "sha256": "8092a1dcd7d9eb47557ba7a13fdc4bb061c3440cf5e4e6b590ecf3f8e4ac6200", + "sha256": "d1a17557fdad513cc8d6f14f8050bc92172565144a91116457682512fcb16fc3", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-provenance-mobile-dark.png", "stage": "learning-provenance", "theme": "dark", @@ -9579,17 +9579,17 @@ "width": 390, "height": 844 }, - "sha256": "cb97209caa4de77c0331418009215f023f73dd320de9dc9a525a18c457c37451", + "sha256": "963f2696eb7e50c1420f5eb7728f0eea4991e4d49666277cd92ebd395abe1f33", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/learning-candidate-mobile-dark.png", "stage": "learning-candidate", "theme": "dark", @@ -9599,17 +9599,17 @@ "width": 390, "height": 844 }, - "sha256": "2e7a04409dab454db1552eac5d7dfc41e0e6b922e16ef58a2482ed796db802b2", + "sha256": "66e73295ae6d76e259bf08135e2120d414a6752901003c4973df3de606b7550b", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "cbd2a572bec60dfa9c4db20a97408a22e13a9993d7b182c6d44807378847a330", "action": { "label": "Review invalidation", "top": 738.078125, @@ -9646,10 +9646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "23e6f70216d2c33cc3299e807adea2b5f8c26dbfaffd063443410015f46c1021", "action": { "label": "Confirm invalidation", "top": 738.078125, @@ -9686,10 +9686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1101050a59d117dff72d102d95033ecff8cabbfca6d3c154b249e868a39f75d4", "action": { "label": "Check original request", "top": 299.890625, @@ -9726,10 +9726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "06ddd5674b1a6bd4a049baf25eecaa8468a912c7cf0b33211375d7e4412ddd82", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "406eaba7b2938d2608bb90f39e475b7d7828a4ca2793cb3fda4773500f490d90", "action": { "label": "Review invalidation", "top": 738.078125, @@ -9786,10 +9786,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2f6c45475897661fc05a90e0a4b4082bc3bc702933ec11efdfcb029c2cc5060d", "action": { "label": "Confirm invalidation", "top": 738.078125, @@ -9826,10 +9826,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "29ecbde5059ad6ebe4dcb3430721517ac064f9dacbeb7a7ef97b9c982258c527", "action": { "label": "Check original request", "top": 299.890625, @@ -9866,10 +9866,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a7b5e5a3499cdad16247bf2d1aaa9faa363b0b59fb99f66a599a4480b94e68d7", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "faf27371780626cbb1cb5c8910c09313980566ac21ed6153d3644a804785243b", "action": { "label": "Review invalidation", "top": 752.15625, @@ -9926,10 +9926,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "50de15fc1734879b25639871962174e5bc67e489baf3d3bfb3fcb159df38abe4", "action": { "label": "Confirm invalidation", "top": 752.15625, @@ -9966,10 +9966,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "66b92b8188cfb18b193ae49b02ab798e8dfccd1eee72e8b5ef2262e2159dc70e", "action": { "label": "Check original request", "top": 451.515625, @@ -10006,10 +10006,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "112b7f3da7b679d9ffd19e83998a2e6bfaceab83e6784085bc216207316ce926", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "271fe043a25367afeb07ed35a06657b7297d1a8e9e4a0340061788fdb7c856e1", "action": { "label": "Review invalidation", "top": 752.15625, @@ -10066,10 +10066,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "faf89092b55aea6e36843cb041dc4973436c20553ebd6504c9767819408fd1b3", "action": { "label": "Confirm invalidation", "top": 752.15625, @@ -10106,10 +10106,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "7f48edc07d3d2c9bf5714386585e26846b1255b291302159e4d5f6e06b44af53", "action": { "label": "Check original request", "top": 451.515625, @@ -10146,10 +10146,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d518e1ea268e9556526fdbd2738a4350081b55004f5900bff2be31595d037af1", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1b08e4b4fef2b710fda4aa40e735a931b92d2307dd55d2edfe7d4f76130f9b1f", "action": { "label": "Review source", "top": 711.609375, @@ -10206,10 +10206,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "afe523ddcd4464832dab7b9dbfdc20415d1b347d1e0bb8e1764ba2f9d5db18f7", "action": { "label": "Verify source", "top": 661.40625, @@ -10246,10 +10246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "754f3e16a30ec1ea9104490903033c76b407450ec5547707ff6746777a217d48", "action": { "label": "Check original verification", "top": 609.390625, @@ -10286,10 +10286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5db088753287592faf1fed7056e2af1088b8604bc669d03593b2c8760d34f0b7", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "0b03901df1f610cf396be0eab440748d3e5845f03170300532f3704b558109bc", "action": { "label": "Review source", "top": 711.609375, @@ -10346,10 +10346,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "568f991a1eb3ab6d6cfcbadcaa5b2d2b9c092484078e73c5aaa1bf98a3f02c92", "action": { "label": "Verify source", "top": 661.40625, @@ -10386,10 +10386,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8caa2558dd9b67967a3ef539fb1213c51de57a9e6471d3114acb0e53a66ef1f5", "action": { "label": "Check original verification", "top": 609.390625, @@ -10426,10 +10426,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c12159da5c61425ae330394072ca6c1ee83c3f25706f57fc6e9599b6b33a2d79", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "bb3d5d3efc0cef88ca3663068953756a9b600b8b7e634ae539b36af97ecbebe5", "action": { "label": "Review source", "top": 753.15625, @@ -10486,10 +10486,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9c6231b3f9038c5f987b56e0ecb5673b03b1e5aebab0e7031cd9a83798d1b00a", "action": { "label": "Verify source", "top": 656.96875, @@ -10526,10 +10526,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d5010f9318b2ea50fcf8732936a1dff4f6b07054c6ff7475f3b8f1f3bdb44056", "action": { "label": "Check original verification", "top": 546.296875, @@ -10566,10 +10566,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9f89ba5a4497def1995322d9ffcfc8c9c79675943c29da4932ca43e32d587733", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "52e8fd08784509fd74fe5be48a83d795ad7e28e898fd1bec9d894f381bd14c35", "action": { "label": "Review source", "top": 753.15625, @@ -10626,10 +10626,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d25960159dbcacf6de9ce6ee9ded16ebbf5e20a08b90cacdf2bf2df4c0aa5589", "action": { "label": "Verify source", "top": 656.96875, @@ -10666,10 +10666,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b739eba51f9c7a8d41b07e5eccf2176feb950a456e72cd5a784659b53353d279", "action": { "label": "Check original verification", "top": 546.296875, @@ -10706,10 +10706,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ff2d05a6e3a407acbfa0abff3a9b2055cf0abe9aeb218cfaf12491626958b823", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2d6ea7b0f59b3a0df42b78a8a74ffe3c19b0d74a9cf52e3f339bafda03eee272", "action": { "label": "Review original command", "top": 621.03125, @@ -10766,10 +10766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b458339c64d82f26a0d1e5e50f12472be7b88df909d8733dabf19734411e473a", "action": { "label": "Send continuation request", "top": 656.109375, @@ -10806,10 +10806,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "88e734c19c572c275e19719b41a5cf32daaf0c5a229a7875374f3d53e8d12635", "action": { "label": "apiVerifiedAttempt 1 · recorded Succeeded", "top": 326.984375, @@ -10846,10 +10846,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1abb53f8f4a999ad58b412132fb8528cea87267924b389e9617ed73483b25192", "action": { "label": "References", "top": 167.046875, @@ -10886,10 +10886,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "373704244fc9fbb8439bd5fba94e7f71eccd045a6c6e7676c11380d6b7cd0911", "action": { "label": "Review original command", "top": 621.03125, @@ -10926,10 +10926,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "31dfe9f3e89f83493d2e231eead6f0f389df5c47f6c26b36009d3e3f1556b550", "action": { "label": "Send continuation request", "top": 656.109375, @@ -10966,10 +10966,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ad0b21ad5dfbed057ff9276e27d442384a32c85f7d266f7555fa5ab6a8ed2547", "action": { "label": "apiVerifiedAttempt 1 · recorded Succeeded", "top": 326.984375, @@ -11006,10 +11006,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "0ceb7437cad84ab0d77aa13038f7ddedd63ffbd04c1d9c88d977d570c0ae6747", "action": { "label": "References", "top": 167.046875, @@ -11046,10 +11046,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "596d771c27fce88da193220a2a1352169144fca2bb510c69e8904191aef813c6", "action": { "label": "Review original command", "top": 624.453125, @@ -11086,10 +11086,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ff85f6f25e7ae7571b0d00d437a294f900bd40f4306901c6c00437eb268ccb30", "action": { "label": "Send continuation request", "top": 678.859375, @@ -11126,10 +11126,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "bbe6fcbd07c53c72f5c28aab7b245a11983727b81748c2c3c4b41f394936552b", "action": { "label": "apiVerifiedAttempt 1 · recorded Succeeded", "top": 501.203125, @@ -11166,10 +11166,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a2a182c484cb3f58ce6e1aaea942d0be9f5d70efc0cdad87a8dbd28d0230d51f", "action": { "label": "References", "top": 230.109375, @@ -11206,10 +11206,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "519434634ab74afc7fd017106b98eee6e40041bcfe9c5b05c6ae6967e4c5c04e", "action": { "label": "Review original command", "top": 624.453125, @@ -11246,10 +11246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d7c6b5f3ca9b1ca6267ef53bc500d67b12500d8bf96801fc9c136452b70ec44c", "action": { "label": "Send continuation request", "top": 678.859375, @@ -11286,10 +11286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3bb488be5dfa1e69880a74a1a15888dfcd49513126d019a1e91bcec40b72eee7", "action": { "label": "apiVerifiedAttempt 1 · recorded Succeeded", "top": 501.203125, @@ -11326,10 +11326,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1e9733937f69d0667b030e8daa9c997f3e023c9d2eba473b64272f4d6f2c9dd9", "action": { "label": "References", "top": 230.109375, @@ -11366,10 +11366,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5586d08c27ea7020273680b4affc9241ee36dd717de335b3db7fa29feb9bc23d", "action": { "label": "Inspect configured source", "top": 763.078125, @@ -11406,10 +11406,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1b8e3e996ea03357c2d5fb99fd5e51182588f422d7c0af184720b2c0a006d261", "action": { "label": "Continue", "top": 763.078125, @@ -11446,10 +11446,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "7dd2d7b0563461cd66c90923b96731fdee124225571a1fe96ddfbb906eb8dcff", "action": { "label": "Continue", "top": 763.078125, @@ -11486,10 +11486,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2c0e348e486c9230dcd44048e4d0b2b57ff5cac00da8b54b071d7898b2840949", "action": { "label": "Acknowledge this report digest", "top": 763.078125, @@ -11526,10 +11526,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "f7a59fdd9ff273da9edb941bef70430ec949b97e546961806f48c9ff472f7aec", "action": { "label": "Inspect configured source", "top": 763.078125, @@ -11566,10 +11566,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2d6a11c3f6599f0cc22b35d1b19c52c1d4e4d0a7a2676ae3ce63c979c2375353", "action": { "label": "Continue", "top": 763.078125, @@ -11606,10 +11606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9a455cf2c4868fffa21e7ade0eabcc7dee24290e4962dca0529cd9d16651a818", "action": { "label": "Continue", "top": 763.078125, @@ -11646,10 +11646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1249d0af43776720a6c1136c261ae82a0b14de87245b5c17dbb9f16f6ffbfc62", "action": { "label": "Acknowledge this report digest", "top": 763.078125, @@ -11686,10 +11686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "f31516e01dbcf24144f5172f7f6ceba4e8802a8aa208dfd5b4577f941872ec7c", "action": { "label": "Inspect configured source", "top": 743.078125, @@ -11726,10 +11726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "21e0cd2f9cd3cc696bd420bfec2e607c47108fc60f23e8356fe9c59f06d3b4d9", "action": { "label": "Continue", "top": 743.078125, @@ -11766,10 +11766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8fc941c8ac2eef7fb17da187fcf37919de07e33a178e1cf4c985e7846fc61923", "action": { "label": "Continue", "top": 743.078125, @@ -11806,10 +11806,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4b2829c7cfd33c1c6b39830ce5cca7dd316ef2b7772543633905dd90d52595f3", "action": { "label": "Acknowledge this report digest", "top": 743.078125, @@ -11846,10 +11846,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a4cb6dbe589787b9f764c05f4a46b03c43b3fb0b308fe234da12da4edbba5a3b", "action": { "label": "Inspect configured source", "top": 743.078125, @@ -11886,10 +11886,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9d23afb4b601ce9f098cee5f9247f24740138112c59bd2e600f89861c1881466", "action": { "label": "Continue", "top": 743.078125, @@ -11926,10 +11926,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "55fd1d00e6fb28f4e649b77fa646b70ee3e130289ed9163ef0fca304cfbc0e96", "action": { "label": "Continue", "top": 743.078125, @@ -11966,10 +11966,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "37027f94c6f9dcfa174308cc4a0fbde23132d33187c905e182fb8c4e863745e8", "action": { "label": "Acknowledge this report digest", "top": 743.078125, @@ -12006,10 +12006,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4c77181914b5545f987a228adf6bdc01e7e12b3b322f65d712dc2d33957ee2bf", "action": { "label": "Save report", "top": 631.421875, @@ -12046,10 +12046,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "bf0f56c24da13b4c857ddede83fe730310054d48905e47bd8fa5536e0a3e7f8b", "action": { "label": "Check saved request 1", "top": 164.984375, @@ -12086,10 +12086,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1e60acb24017741d84f0449593334acc1b32ce6c6d62fc908ac1016c5e33acbe", "action": { "label": "Open saved report 1", "top": 263.046875, @@ -12126,10 +12126,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5b3932f05f1343eb231b7b829b8d255a1b19db14bc6b7f1ae4f7ad5de8e0691a", "action": { "label": "apiIn progressAttempt 1 · recorded Queued", "top": 554.375, @@ -12166,10 +12166,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5041e1a61bf6c2a1815b0fdc9769807c969983b5ecd3272ec5f7e5a5e69836a4", "action": { "label": "Save report", "top": 631.421875, @@ -12206,10 +12206,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "836b15e88098a7c1d44779448e9f8d0f5dd6ecce8f88e12f2bef4360d9200811", "action": { "label": "Check saved request 1", "top": 164.984375, @@ -12246,10 +12246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "cfb9d8763ef50d067aeaf13802b78d265549f97e48ddd0e5c13a1339931f1f16", "action": { "label": "Open saved report 1", "top": 263.046875, @@ -12286,10 +12286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3c5e4b0ae612d1b780d644616122474985e4f87cba0088dc9818df642b8cad8b", "action": { "label": "apiIn progressAttempt 1 · recorded Queued", "top": 554.375, @@ -12326,10 +12326,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3ac0cdbb37fb22d2412bf4ece35bcaa5ce64ed7c064b079a8fb2ee16324bfbb3", "action": { "label": "Save report", "top": 659.84375, @@ -12366,10 +12366,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "aab73795c355b6389119d95d05efae4fcb831936faa58adfbb1ba01df6ba4db0", "action": { "label": "Check saved request 1", "top": 228.859375, @@ -12406,10 +12406,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "077dd9381c3c0b77d821718afc773a25e776d218424b62ee93c5c8dd958da313", "action": { "label": "Open saved report 1", "top": 454.453125, @@ -12446,10 +12446,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2ceff2884faccf2f398e7cd3581e31854b5494f3c8bdd2a190bdda247e2b3085", "action": { "label": "apiIn progressAttempt 1 · recorded Queued", "top": 424.890625, @@ -12486,10 +12486,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "7ab7d4e56a204f38c608c2025ad3436334e37dfb4ebd1e05a0dbaa5e2080c699", "action": { "label": "Save report", "top": 659.84375, @@ -12526,10 +12526,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9aa5e682264a53b9a2adb12e67661f234a9ff6ac29e30a9df755c991ac8b0c0e", "action": { "label": "Check saved request 1", "top": 228.859375, @@ -12566,10 +12566,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9cb20f56d92514b93934928ee068a9caf48671baf1a4becb688870b0812fba93", "action": { "label": "Open saved report 1", "top": 454.453125, @@ -12606,10 +12606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "03334fdb9de4fd42628ed467c5021f65a7dcc356a61467257aa0abcfcddb9891", "action": { "label": "apiIn progressAttempt 1 · recorded Queued", "top": 424.890625, @@ -12646,10 +12646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/agent-question-desktop-light.png", "stage": "agent-question", "theme": "light", @@ -12659,7 +12659,7 @@ "width": 1440, "height": 900 }, - "sha256": "4f9a50cae49a15e90caeeebe4b36af76212894ec4e8b77ad08966209efb9af7b", + "sha256": "ec93dc89f13c0b0a0c2eac8465e97067608b2d6c55d48e6be9a9dc5bfe8166ab", "action": { "label": "Review answer", "top": 660.71875, @@ -12686,10 +12686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "6ab4d64466f83ea7cc5769a6635f9afdd7dde805d3d1324a8009e7c57354e207", "action": { "label": "Send answer", "top": 661.609375, @@ -12726,10 +12726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c251ac91975ae89f200e7402fd15fb99094a76626af0767ce51e5887718085a3", "action": { "label": "Check original answer", "top": 413.71875, @@ -12766,10 +12766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "0354a46fab35d7d37e2fc0cdcb25c1735392501d8680c30a24cf82ca5b084d8b", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/agent-question-desktop-dark.png", "stage": "agent-question", "theme": "dark", @@ -12799,7 +12799,7 @@ "width": 1440, "height": 900 }, - "sha256": "a1df25e4c8878eabad291e21cf46a5561106c9151e00b9586d39ca49295c6d31", + "sha256": "4378d3177d8605ece716ff10ad4741eb4533cd7eb17982d9a55244232cc23d1d", "action": { "label": "Review answer", "top": 660.71875, @@ -12826,10 +12826,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2007e5031e493afbfc6b7b1976aec882f0cc652b8a06c90d81c52b1d66edd24c", "action": { "label": "Send answer", "top": 661.609375, @@ -12866,10 +12866,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "f6821b0f10edbdc7529e1cf01c3b4684152973dbea8836055ef7eba7e01a4415", "action": { "label": "Check original answer", "top": 413.71875, @@ -12906,10 +12906,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3fdf7ac03a936543e8c816f4973d666dc233efc3d2737c72ff4d448437abe5b9", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/agent-question-mobile-light.png", "stage": "agent-question", "theme": "light", @@ -12939,7 +12939,7 @@ "width": 390, "height": 844 }, - "sha256": "f153c65c12fcee4ef45a1ca44b3cba339e2198a25df2c3193283578dc12cf214", + "sha256": "4efae627f71855d15b34f07ea3c5d6fb72e95b83da12b48d942c980b7f3ed17c", "action": { "label": "Review answer", "top": 692.015625, @@ -12966,10 +12966,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "911ed3d6949c5ff8c4f0234ce010e2fe80289d9a535b4063c3afb1e168ee93ed", "action": { "label": "Send answer", "top": 647.453125, @@ -13006,10 +13006,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5887706faa813caffd2638621831626ac126ca474842108645e73700daebabb3", "action": { "label": "Check original answer", "top": 403.984375, @@ -13046,10 +13046,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "77d2878de222b9bcab52d4ea8aaed57aefcfb55c3d8e3fa67054fb46cbb63c2b", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/agent-question-mobile-dark.png", "stage": "agent-question", "theme": "dark", @@ -13079,7 +13079,7 @@ "width": 390, "height": 844 }, - "sha256": "de0b10a46c811dca1a6a98675e5711e0983bc846c7bfd6f3aee538f8372fe2f1", + "sha256": "0b790ec1775b3a7933dd2c5e97edc1d3377697a463dc7a9c4d4b8763d7a822fb", "action": { "label": "Review answer", "top": 692.015625, @@ -13106,10 +13106,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e93deba78ace113f92b223dc299d38aba696c8025d5aca8d0dd34e5fdf279858", "action": { "label": "Send answer", "top": 647.453125, @@ -13146,10 +13146,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8428db0b68c2574d734f64b9749fc86bac3c5cb14ac119a84e5eed55e5d497c5", "action": { "label": "Check original answer", "top": 403.984375, @@ -13186,10 +13186,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3dc25d264b9de63ff7a5c3b47665782a86278d04e07c56ac73b0b0787e74b3f7", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8336456b083cf79bdb91bde5af860191b9afe8c71b5ffd8860d8faecb0aa4149", "action": { "label": "Continue to milestones", "top": 755.859375, @@ -13246,10 +13246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "7eb458ef3e77866fd3f2fbbbac10881bbba0fa7332b91a9b8cbb50fa3923b114", "action": { "label": "Review reporting criteria", "top": 789.15625, @@ -13286,10 +13286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "21a4b9ba7262ceef5a84ee8fa735b01a1a4b092ef67819f20dd504f0d47c0d3d", "action": { "label": "Save reporting plan", "top": 662.03125, @@ -13326,10 +13326,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2d67c5507c14dfe15dc1e172f31d52fd993675516e5e501f976686b5105341b6", "action": { "label": "Check original reporting plan", "top": 164.796875, @@ -13366,10 +13366,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ac28fb9851dcfe5d99dd7b6032926beed55270a2327ae24cd85baacb31d546a5", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4b924c573ecef61c5530f96448f0d38b2901133f8746e77a66575070f90b0736", "action": { "label": "Continue to milestones", "top": 755.859375, @@ -13426,10 +13426,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "53f47c5692c48b2a45fed986a9b5d3cab608fc43a5e5cc6e3603f14d1cb3be8e", "action": { "label": "Review reporting criteria", "top": 789.15625, @@ -13466,10 +13466,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2b2b60be2570c88ac3610b7e43f1c364f0913b4a8fbe5290a2f68e6fb78f5510", "action": { "label": "Save reporting plan", "top": 662.03125, @@ -13506,10 +13506,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e2bd9e1fa59586df5bd58823797de178d1b41ab340e319b71c969df93eff1d2f", "action": { "label": "Check original reporting plan", "top": 164.796875, @@ -13546,10 +13546,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d1737b91cea91fc1063c7d4f53154e4e5e330add7afe7540f1b20a5855dde6af", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/campaign-plan-waves-mobile-light.png", "stage": "campaign-plan-waves", "theme": "light", @@ -13606,10 +13606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/campaign-plan-milestones-mobile-light.png", "stage": "campaign-plan-milestones", "theme": "light", @@ -13646,10 +13646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "0eff57ac774b9b0fa589203f31d19b31ad3d018ba8b960a1095f977b54c967a6", "action": { "label": "Save reporting plan", "top": 662.65625, @@ -13686,10 +13686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "51a2bb1e81f23bbd83f6b2c7341994c67db32eaa416fefd2c3ba1cd845c0a3c8", "action": { "label": "Check original reporting plan", "top": 314.84375, @@ -13726,10 +13726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2f970e7ae444374be31ce2eb15460235b61695e8150e1a239697e0d077245258", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/campaign-plan-waves-mobile-dark.png", "stage": "campaign-plan-waves", "theme": "dark", @@ -13786,10 +13786,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/campaign-plan-milestones-mobile-dark.png", "stage": "campaign-plan-milestones", "theme": "dark", @@ -13826,10 +13826,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "43f6d59c9e9a04176bf5f2535e646d8476fbacd15e83624d2c0960fb435d96f7", "action": { "label": "Save reporting plan", "top": 662.65625, @@ -13866,10 +13866,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "2320cf8dcd31d5dd185d5977d17a58a69ddb64535f01aace2581ab76adc62e45", "action": { "label": "Check original reporting plan", "top": 314.84375, @@ -13906,10 +13906,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "87161a072275e3d8b75ecaa7e610ff3f61dd85d4a55d785dbd5678d1075a1dad", "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ed5803ec3fa66b9fa34d255adc29507840c7f003a5f5ac005d9fcfb14602089f", "action": { "label": "Continue to scope", "top": 656.71875, @@ -13966,10 +13966,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b416529dc2008b7693d1821f52cb4df79e8f88e23b30d136a0ae403e9a12c204", "action": { "label": "Review delegation", "top": 789.15625, @@ -14006,10 +14006,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "357c775cc947b5924c1b7327b78a64a0924c1f08f3136a0cc3eefbbead448ea9", "action": { "label": "Save delegation", "top": 726, @@ -14046,10 +14046,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8f2b27d4ed7774551ec3ccaaac7a9bca1259801151ce9b6ba01680b0cc9a738e", "action": { "label": "Close receipt", "top": 551.453125, @@ -14086,10 +14086,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "748785127cc24395f450dfa7887c246adb63fefa3fad650c534031556bee92df", "action": { "label": "Continue to scope", "top": 656.71875, @@ -14126,10 +14126,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "7e62231bd49f828fc91dd97861952348853a8cdea05bee402f6bf152f8165466", "action": { "label": "Review delegation", "top": 789.15625, @@ -14166,10 +14166,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "72ec01e52fc9f4a215d854227ca970615971c7e95db811a543ea7187d8c3bc4e", "action": { "label": "Save delegation", "top": 726, @@ -14206,10 +14206,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5d90cfe947d52c5acbcd1d7d2e83960f0313b025eb1308b613b545ee05ecabbb", "action": { "label": "Close receipt", "top": 551.453125, @@ -14246,10 +14246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d56e127f7b5fdbd6f1f4f1d438a27fe6dd188a6f7644a12f8f944fc36f9f604d", "action": { "label": "Continue to scope", "top": 662.140625, @@ -14286,10 +14286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/scm-delegation-scope-mobile-light.png", "stage": "scm-delegation-scope", "theme": "light", @@ -14326,10 +14326,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d5bcda6e22ff87c2ec02718e5289bd804007e79e7f5fd295049c45f0db82a22d", "action": { "label": "Save delegation", "top": 743.328125, @@ -14366,10 +14366,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b0536a922559c4a815e04d1603ed8a1df6a38b0a65ece76622f1d8a9192e6e59", "action": { "label": "Close receipt", "top": 550.6875, @@ -14406,10 +14406,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "76e60fa18945d86b82e6863ffa702177c36012cfba1787d899c37a3151d28c24", "action": { "label": "Continue to scope", "top": 662.140625, @@ -14446,10 +14446,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "path": "assets/screenshots/scm-delegation-scope-mobile-dark.png", "stage": "scm-delegation-scope", "theme": "dark", @@ -14486,10 +14486,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "28766564ec34a992e0ab103faa0ce3fe35800f3d449c5583e4ab3643576b2f9a", "action": { "label": "Save delegation", "top": 743.328125, @@ -14526,10 +14526,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "ac09c90fa9ce1248f4c95e6d6819f74743cd68ad8840f630f1ab619d3afe5e91", "action": { "label": "Close receipt", "top": 550.6875, @@ -14566,10 +14566,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "67262f4f5a5dbcf89bb89ffbcb6683281e7528f07e7a2df8c5b0a1fb34790ea5", "action": { "label": "Cancel this request", "top": 586.921875, @@ -14606,10 +14606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d88e66bf242ae622438db27bb787da279fc5bae381138c1c85b30f0bb917a512", "action": { "label": "Continue", "top": 713.078125, @@ -14646,10 +14646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1e0e50d93e9f9a4e24eed9364fa97d908fdc81dd2536871bd94861fcf6793af0", "action": { "label": "Review original result", "top": 472.203125, @@ -14686,10 +14686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "31e080d264513a0a8719538b6af4c87fae699d604f42da461993d28a1126de3f", "action": { "label": "Continue from original result", "top": 664.59375, @@ -14726,10 +14726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "f2b1b9c11f79b37e7f4601d7dcf5280bd36a5732bddeb693b49edf7a428dcce2", "action": { "label": "Read exact saved request", "top": 381.359375, @@ -14766,10 +14766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4e177c3210660696c4a732c9cf85ef1f09aca2585a79ee43471451a85b8f3420", "action": { "label": "Implementation checkpointsUse current defaultDisabledRequiredRequired saves implementation checkpoints.", "top": 531.65625, @@ -14806,10 +14806,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e17674d7d49cb0e756094e04181fe67e451627be7938ecd47c44845acacd74ef", "action": { "label": "Cancel this request", "top": 586.921875, @@ -14846,10 +14846,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "fa79df2bb605c1e5399a96e761fb1b7326a2424bb1f290567b76d351c7041fc8", "action": { "label": "Continue", "top": 713.078125, @@ -14886,10 +14886,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1dcbccd4fb1a1d49784c7837c39f538116d62bfee0b8719f9dc2b034d92c3168", "action": { "label": "Review original result", "top": 472.203125, @@ -14926,10 +14926,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "033d9230159f806010d0d682eba774a680e5682326443d883384bb2e12ef37e9", "action": { "label": "Continue from original result", "top": 664.59375, @@ -14966,10 +14966,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "47d5ac92116413119453a24fb65835dbcf64f29f8de09be1078cf821244714c0", "action": { "label": "Read exact saved request", "top": 381.359375, @@ -15006,10 +15006,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4c4eb45801bc946d644380442aab162453d9bed8201ef1a253553ba58d2999c5", "action": { "label": "Implementation checkpointsUse current defaultDisabledRequiredRequired saves implementation checkpoints.", "top": 531.65625, @@ -15046,10 +15046,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "cd4ac4958de07563437793b5c042b63e5e25c51a4b8872121619c3a81788bdab", "action": { "label": "Cancel this request", "top": 630.90625, @@ -15086,10 +15086,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "75534455d5428c4dfe1b99438cfc5d7b5354854e339f4ff0121467d2537f445a", "action": { "label": "Continue", "top": 693.078125, @@ -15126,10 +15126,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4378adb07876c1adc9e63d4445096ced32a9c5675e1a7a88b9533fdaa81d49e3", "action": { "label": "Review original result", "top": 682.03125, @@ -15166,10 +15166,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "77bf4ef833da69dd9e1058a4a8691aa73984fc3a6ce20a621b7b64e2496eecd9", "action": { "label": "Continue from original result", "top": 503.8125, @@ -15206,10 +15206,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "161d515205bf02e96acb4273975403d70c5044b72e0ee9e1a3dff1f2c09bce3e", "action": { "label": "Read exact saved request", "top": 405.03125, @@ -15246,10 +15246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "53494edbe4be6b6323e9b7de5457ad88aad194f9f4a15faee00c201269aa39c5", "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, @@ -15286,10 +15286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4a3aef24972d2bf038610f422ef143f7ced46f477454d4da99269544c69b6d24", "action": { "label": "Cancel this request", "top": 630.90625, @@ -15326,10 +15326,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9d1ec79075dd2c7a65669c2216a60ce59e29177fc622bea144f05f68424bf92f", "action": { "label": "Continue", "top": 693.078125, @@ -15366,10 +15366,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4b74bbde7bf5766e342044e8f9a92fe9a9016af9728726a45e6a2cc42119d518", "action": { "label": "Review original result", "top": 682.03125, @@ -15406,10 +15406,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "98ae12f5dc0446258d9f0eefbfb05ca8c3898e1ba94a9337091d202149fd483f", "action": { "label": "Continue from original result", "top": 503.8125, @@ -15446,10 +15446,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5a3d3c1adc455940c21ace1bc8b5e80337ad42618bd86cda21547c8f2d30a7cc", "action": { "label": "Read exact saved request", "top": 405.03125, @@ -15486,10 +15486,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d333eeb25aa9a86b509c02f6e829419af508cf8e048f0efc40be59c0f1b8e7e2", "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, @@ -15526,10 +15526,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e4ff791e6627af5912e3a30e9b79d9a4d3fd003e2865ecf596b90d3033a58846", "action": { "label": "Read full recorded event", "top": 736.375, @@ -15566,10 +15566,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d1d4bfb4c69fde2246c7753ee5decac2f8c37abedd0c1ce04179041149ed8e52", "action": { "label": "Copy full recorded event", "top": 680.375, @@ -15606,10 +15606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "fe171575a59c962fccb870506b9f23d61a4d981a6eca8c3e6afba34225cb9c2a", "action": { "label": "Read full recorded event", "top": 736.375, @@ -15646,10 +15646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "510e5a489e66fac41b3bacd730f81645fa9be8ead45bc603b5c687ec64683550", "action": { "label": "Copy full recorded event", "top": 680.375, @@ -15686,10 +15686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5926a6bf3a19d54fe27d52f005acff2810b5ac8bd403f61d23dc9fef0eabba58", "action": { "label": "Read full recorded event", "top": 738.734375, @@ -15726,10 +15726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "96e56c5f4062a53c1a6d06db4dcfef7d410fbd91db669e2eebfc5a6fe4cf81f5", "action": { "label": "Copy full recorded event", "top": 426.734375, @@ -15766,10 +15766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "b36d52ad2051ef047d27d08a35bf7ee2bb8032cbe9d73db88bd4ca75fea7073e", "action": { "label": "Read full recorded event", "top": 738.734375, @@ -15806,10 +15806,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a199615a96bbe285182770f0ab1d8b44e0e0c6499f88203882758dcd280dcf51", "action": { "label": "Copy full recorded event", "top": 426.734375, @@ -15846,10 +15846,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "7b4772138005b2d76b44181a6fa44352f9130be8dec5956415dac14652ffe6e7", "action": { "label": "Copy requested command preview", "top": 366, @@ -15886,10 +15886,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c2385886e3413a27bff6b52f5108720d2368ebee1d3ec700e53f4e4c0ec0423c", "action": { "label": "Copy preview", "top": 248.15625, @@ -15926,10 +15926,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "57b18acf503d6fdd957cfa0dd9bbe0bf2a07f624f1c9cf99c058ca9a7470d715", "action": { "label": "Copy requested command preview", "top": 366, @@ -15966,10 +15966,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8dade71b33fdf9da62c926d6db74fec38acd6e998b74f3ab34947d85b7c4707b", "action": { "label": "Copy preview", "top": 248.15625, @@ -16006,10 +16006,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d99e43d4ce16e1fab446c9bef7369c3c0272e90146227eb6bac7c907ad3e4c54", "action": { "label": "Copy requested command preview", "top": 493.203125, @@ -16046,10 +16046,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "d801ce17d777fb10d35a921ea1e0d042c7b6f09f816caaa80a025010f7da2d32", "action": { "label": "Copy preview", "top": 285.328125, @@ -16086,10 +16086,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c00c497ec8a65ea8cfe8e3b5607a8013d55a6932eb3ec365f8e983769a8d2b1c", "action": { "label": "Copy requested command preview", "top": 493.203125, @@ -16126,10 +16126,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "45c25b92e48e64f289e6184e49aebcd8a05ef378c38e2ce5ad5ead1a3573a188", "action": { "label": "Copy preview", "top": 285.328125, @@ -16166,10 +16166,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "6923430360f20d3c25444d4191d515f39d0a0b034cc4d1967d758009d5fc7e95", "action": { "label": "Continue", "top": 618.109375, @@ -16206,10 +16206,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a1d9c354fb508c3d036d5b90f26993ad18cd803696af71e2b8a8fe529939bcee", "action": { "label": "Continue", "top": 651.015625, @@ -16246,10 +16246,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "80137dc86d3e02e0d9bde86cf93e57db4677f263194189d36d22048341119ed1", "action": { "label": "Save permission", "top": 675.703125, @@ -16286,10 +16286,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "7073fb15e3cab34eb2563731d632a856d18bfbac23c3011d7f598794c434d254", "action": { "label": "Exact consent references", "top": 786.171875, @@ -16326,10 +16326,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5e6de996184c02fd404532b96bdc75265b892ac79c6eb8ff36723f03d26eee22", "action": { "label": "Continue", "top": 618.109375, @@ -16366,10 +16366,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "3265718ee29885947e4522e0d4f8a440722d2f55c8b513ae08dcc20a99e83d14", "action": { "label": "Continue", "top": 651.015625, @@ -16406,10 +16406,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c95ab4413fe1192a4f8d2cd4af62ef6b608d32793fbe15ce91cb72efff758394", "action": { "label": "Save permission", "top": 675.703125, @@ -16446,10 +16446,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c69a76493caab739e48b6743132517c60457719906a63878b06655d7c5157c7f", "action": { "label": "Exact consent references", "top": 786.171875, @@ -16486,10 +16486,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a811b1399a4de1c0fa34a249262efeff30b65799772866736e0952d630a7550a", "action": { "label": "Continue", "top": 657.734375, @@ -16526,10 +16526,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "c64d9b24a38c161c75eb0fe726401dd6cd074e46edec5a85d62c34587eb9931c", "action": { "label": "Continue", "top": 662.625, @@ -16566,10 +16566,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "a595a5b1bb329d6849537bf8b9a0e296811eb8e7fbe50076d567a3739afce1f2", "action": { "label": "Save permission", "top": 712.625, @@ -16606,10 +16606,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4a85513c6c77faf6fe5b26ab01cb2bff403c80bd89681113d908ce600061317f", "action": { "label": "Exact consent references", "top": 450.84375, @@ -16646,10 +16646,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1f7c46cad8955b323d1ed25f941240526465894263ab8ee42431465af3400267", "action": { "label": "Continue", "top": 657.734375, @@ -16686,10 +16686,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "21d0b454884d663aa747cd8bfd6f30bcb790430e26225f6e13d46bff5f0aa5d8", "action": { "label": "Continue", "top": 662.625, @@ -16726,10 +16726,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "961d9014d4470fb49f83b7ebd02ce4a769e99fda291c378da3bd5ef94216a75b", "action": { "label": "Save permission", "top": 712.625, @@ -16766,10 +16766,10 @@ "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", + "capture_helpers_digest": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "1716008f6b53d3851dec2a7b8122ffb448d460a312314816d5c679c341edb793", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "5590f1c95e92b87303ec2a07e750438274a5e6865d3142ab0ad9e78cc3c031fd", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "9215e41edf3d57a236af773b0e26b54d7b3c4d2059536618339da5ae4a61faa6", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "77f41bfdd0964b95cb1be74e032f9bc0f0506e7cf0ff3c46ce66396e5a356295", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "bab01636f9a98d3416528631ccb6caa80880d082a06e725f76b03d1e019e8899", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "4f30956d8346b3cbe3668dcbfc38d2315615089d2d0195626a7917719a18449f", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "e8d6581ee6e3c893d409fb1c0020d161e40ff1fac52e6e0fb3488f032ab503df", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "297c370e816e5c25082141d2795b64cacdee2d5942026f780d38b1a0da54a9e2", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "f0cc8b5c6510b1d73e56e5d4f59a266b210ed845ca4a36e00838c8e66090ac1e", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "31d44cf744307aa180ba522e6162c90628ac1c8810d9d7a446cd8fcd5b6bc4d6", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "928aa945633a46121d729afa3bb46a1cd8f1c4ddf159deacb5a229c65e6280ea", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "98bd7505abbe5d56cccc8bf09269abee901c7a0596f9e7b7339c81bc755f5a3e", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", "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": "8f285e6be339efbb47345b5fe1771a5c3c92a3fd93ce9b38eb86419ad7cff409", "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,8 @@ "textFits": true }, "captured_action": { - "top": 630.71875, - "bottom": 671.5625, + "top": 630.5625, + "bottom": 671.40625, "footerTop": 800, "boundaryTop": 0, "boundaryBottom": 800, @@ -17442,6 +17442,806 @@ "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "a6e839078c0de88d82ff0aad950f9ce88b8f98d4489176147372dfe11944168c", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "b091e60ef2f702140462d897827d76290b43ce1f844b2e6a31dcbe7b8f553df2", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "5426c2ffd1aef9e8f49ad2168e1ee246eaff02b64f066c5676fb9e389ba21b6c", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "5e13967139e3b2f3f692b63ebcf93911b5a049b585de5b7cb1c9b0a15583f529", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "c1e34af714bf9ca048204a5efca451f58359ae5369c2e03518fc8e9e2fcc94f2", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "9632ea57abc52782921d8af5cf893bf3ecdb961534f0aee256a3983baa8efe6e", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "45e8791c6bd981da6514f46555597a8e5bcdaa9f9ac238e85d1c4ebc06a4ee59", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "bcdb3ef0ba4e57694d7bc6676e3a3c444131f423bb6ee25fd7c99fd887b0fb49", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "67bdf2fb7481e44c205b519edf76035e7ac0e4f2b1ed49fd20a9fefd09c15750", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "c0fec52e7b2c03443d0e066a60988b7e8d27e598510a3f652122ca789b13ab3f", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "5e55d58fd874429c4dd6983435b245891b4ba10e015e2e94676f1bbd75fb06d4", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "8fc8c1b5fafd3e1fdfbd2cb1475ed7a49fc8490a4e4141b92f6f0d52f33587aa", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "b9599109c0136207480b4451d505057f93dede40cb72dd31d19cfdb642e3114d", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "8eb85282959f3fffc0c14b8c694defe3a65dbb89b811c9a8ab69e83391a5cc40", + "capture_config_sha256": "b9434cb8cc82141ccb2a688032573d592e7230e6672104b02d913ca27f4fe594", + "studio_version": "0.2.29", + "frontend_digest": "cb2b9ed81381a5d92de8c699115dc48e606f28e79b90dcdb01d8323e4d8beadc", + "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": "baaad96ada10c450c456d3c744257bb3cfc7ea261f55e46959535af2e92ebd63", + "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 + } } }, "frontend": { @@ -17487,6 +18287,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", @@ -17502,7 +18307,7 @@ "studio/src/ExecutionPresentation.css": "0bf9edbd37c70fa4e6bb4acce401bd4f100acb1cd07a0bcaf8c3203a1ab949a9", "studio/src/ExecutionPresentation.test.tsx": "98d8d3b9c48239f1e56624f173878685b8f43da184fa7b2de5afef6af2594638", "studio/src/ExecutionPresentation.tsx": "72430e5d0eb36e09773e075a5cc93ae49f143073ffb7ed8c0fdf787d71ee321b", - "studio/src/ExecutionRecord.tsx": "c8f44015995882b365661e939f093c301dbe106fae9ff7995fc71c09dfbc3f28", + "studio/src/ExecutionRecord.tsx": "bf0fdc26ef94b07a871fcc46bb156e93de048cadd6e6f1607531f068fc9f51da", "studio/src/ExecutionRecordKeys.test.tsx": "b02db497391c97b9553725665f9eb6a67c251a4148a7defeebbf3dc520812f2d", "studio/src/ExternalToolPrerequisites.test.tsx": "bd333a55ec2eda102a550712e43d8e40b9a8437def1a9ef0fba110d9eee2d3aa", "studio/src/ExternalToolPrerequisites.tsx": "13c46ed578b3b35825517621bd29f606be7f4ce5e0f5181eaaaf3595d6e60ce0", @@ -17586,7 +18391,7 @@ "studio/src/ProviderActivityView.tsx": "4928e0363eb46cfc6fa7c4de9177ab2c9fb3c1f1815c43eb384cab521be6c183", "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 +18483,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": "a8a0ed9de9aef659996a87ab6c70b94284655cb120fd0d4c785c30ed57c99ec4" }, - "studio_version": "0.2.28", + "studio_version": "0.2.29", "capture_helpers": { - "studio/tests/walkthrough-capture.ts": "10462ef862f968c037b9dd280e241f3a5a456f55eb338f1ed997b12f4817e397", + "studio/tests/walkthrough-capture.ts": "030488d568a6dfb2d2ad73050463a146b8d49d14a44e202a33b65aa839a96e29", "studio/tests/navigation.ts": "bc1f571617b33fc1d62cc0579b378d8e6c631d2ae1eb97504de555d71c9af012", "studio/tests/auth-fixture.ts": "276c8f7b08f324da2e04355feeb7feee3c5260c4aabe50f88899df67e3a0105d", "studio/tests/learning-record-fixture.ts": "d14259f00f205d82030fc57114eff600f3e0b16f4ceef681842afd9f4a7de5d2", @@ -17699,15 +18504,18 @@ "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/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..058291e16 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -5,6 +5,20 @@ description: Review firefly forge release changes, runtime requirements and the # firefly forge release notes +## 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/pyproject.toml b/pyproject.toml index d8c90f690..12154691e 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.29" 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..8eece1785 100644 --- a/scripts/docs_scene_hook.py +++ b/scripts/docs_scene_hook.py @@ -36,11 +36,14 @@ "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 +121,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..50d2a122b 100644 --- a/scripts/test_docs_scene_hook.py +++ b/scripts/test_docs_scene_hook.py @@ -71,9 +71,12 @@ def test_shared_helper_config_and_each_producer_bind_the_exact_capture(self): "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(): @@ -117,6 +120,8 @@ def fingerprint(value): "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 +258,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") @@ -358,6 +381,8 @@ def test_rejects_a_changed_capture_or_frontend_source(self): "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 +391,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 +412,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..7652ef4ab 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.29" 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/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/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..bc591580e 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", @@ -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..6abe475ce 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.29", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "firefly-forge-studio", - "version": "0.2.28", + "version": "0.2.29", "license": "Apache-2.0", "dependencies": { "lucide-react": "^0.577.0", diff --git a/studio/package.json b/studio/package.json index 5283afa76..4dabedfca 100644 --- a/studio/package.json +++ b/studio/package.json @@ -1,6 +1,6 @@ { "name": "firefly-forge-studio", - "version": "0.2.28", + "version": "0.2.29", "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. +

+
+ + +
+