diff --git a/.superpowers/sdd/2026-08-15-techlog-ui-migration/task-14-report.md b/.superpowers/sdd/2026-08-15-techlog-ui-migration/task-14-report.md index b2e09d6..f859d92 100644 --- a/.superpowers/sdd/2026-08-15-techlog-ui-migration/task-14-report.md +++ b/.superpowers/sdd/2026-08-15-techlog-ui-migration/task-14-report.md @@ -2,30 +2,40 @@ ## Status -`DONE_WITH_CONCERNS`. The migrated UI, committed browser evidence, source-to-target -comparison, sample-removal gate, focused suites, static gates, and production -build pass. The only concern is the repository's pre-existing restricted-runner -`test:all` baseline: child-process-heavy tests cannot spawn in the managed -sandbox, and 19 provider-environment cases remain red even when isolated with -the required process scope. The isolation and exact counts below prove that no -TechLog test is among those failures. +`DONE_WITH_CONCERNS`. The production serving correction, 130-case +source-to-target comparison, full recursive product-tree evidence, direct HTTP +contract, target visuals, focused browser suites, and static gates pass. The +automated Chromium accessibility suite passes 29/29, but the 27 signed human +keyboard/focus/screen-reader records remain `PENDING`; `FE-GATE-009` is not +claimed as passing. The other concern is the repository's pre-existing +restricted-runner `test:all` baseline: 19 provider-environment cases remain +red. The isolation and exact counts below prove that no TechLog test is among +those failures. The work remains on `feature/techlog-ui-migration`. It was not merged, pushed, -finished with GitFlow, or deleted. Task 14 is committed by this report's commit, -`test: prove TechLog UI migration parity`. +finished with GitFlow, or deleted. The immutable code candidate is +`3a7c5deca06679fb9b8710da2cce87bbca07ce8a` +(`fix: complete TechLog migration evidence`). This report and the durable +parity JSON are deliberately recorded afterward in +`docs: record TechLog migration evidence`, so the evidence can name the exact +candidate it verifies. ## Evidence files Added or replaced product evidence: -- `tests/visual/tech-log.visual.spec.ts` and 111 target-only PNG snapshots. The - suite has 112 cases because canonical and state coverage for the 1440-pixel +- `tests/visual/tech-log.visual.spec.ts` and 129 target-only PNG snapshots. The + suite has 130 cases because canonical and state coverage for the 1440-pixel `/studio/publications` screen deliberately share the same reviewed image. +- `scripts/lib/tech-log-production-server.ts`, the generated self-contained + `dist/server.mjs` build artifact, its serving contract/generator, and 39-case + direct HTTP regression coverage. - `tests/e2e/tech-log-public-discovery.spec.ts`, `tests/e2e/tech-log-accessibility.spec.ts`, and `tests/e2e/tech-log-responsive.spec.ts`. -- `tests/support/browser/tech-log-fixtures.ts` and the external, manually run - `tests/support/browser/verify-tech-log-source-parity.ts` evidence harness. +- `tests/support/browser/tech-log-fixtures.ts`, the checked Node 24 parity + runner, and durable + `docs/operations/evidence/tech-log-source-parity.json` evidence. - Focused regressions in `tests/unit/vite-route-chunks.test.ts`, `tests/unit/design-system-source.test.ts`, the bounded-body reader tests, the router component suite, and TechLog feature suites. @@ -50,8 +60,9 @@ left referenced. The supplied source at `/home/donghyeon/workspace/techlog-studio-frontend` was never written. It was copied to `/tmp/techlog-source-parity.I0CBK7`; build and Vinext runtime caches were created only in that temporary copy. The source -production server and target Vite preview were opened by one Playwright Chromium -instance with two fresh contexts and the following identical controls: +production server on `4375` and target `dist/server.mjs` production artifact on +`4174` were opened by one Playwright Chromium instance with two fresh contexts +and the following identical controls: - device scale factor 1, light color scheme, `ko-KR`, `Asia/Seoul`, reduced motion, service workers blocked, 1000-pixel viewport height, and full-page @@ -59,22 +70,41 @@ instance with two fresh contexts and the following identical controls: - fixed clock `2026-08-14T01:00:00.000Z`, deterministic in-memory data, `document.fonts.ready`, matching Pretendard/IBM Plex Mono font-face state, and zero-duration animation, transition, and caret styles; -- no masks and no tolerance: exact RGBA pixel comparison, product-subtree - tag/class/text/ARIA projection, layout diagnostics, and console/page/request - failure collection. +- no masks and no tolerance: exact RGBA pixel comparison, normalized recursive + product-subtree tags, ordered child nodes, complete classes, attributes, + text and ARIA relationships, layout diagnostics, response metadata, boot + lifecycle, and console/page/request failure collection. + +The only attributes normalized by name are diagnostics-confirmed framework +outputs: React Router `data-discover`; Next Image `data-nimg`, `decoding`, and +`srcset`; and Next SSR `selected` for a controlled select. Generated React IDs +and CSS-module hashes are normalized by value; there is no broad attribute +omission. The final external comparison command was: ```bash -TECH_LOG_SOURCE_URL=http://127.0.0.1:4275 TECH_LOG_TARGET_URL=http://127.0.0.1:4274 corepack pnpm exec tsx tests/support/browser/verify-tech-log-source-parity.ts +TZ=Asia/Seoul corepack pnpm verify:tech-log-source-parity ``` -Result: **112/112 passed**, 0 failed, `totalDifferentPixels=0`, every DOM/class/ -text/ARIA projection equal, and 0 unexplained source/target errors. Source +Result: **130/130 passed**, 0 failed, `totalDifferentPixels=0`, every recursive +DOM/class/attribute/text/ARIA tree equal, all HTTP metadata equal, and 0 +unexplained source/target errors. Source screenshots were temporary comparison inputs; none was copied into target -snapshots. The no-update target visual run also passed 112/112 with +snapshots. The no-update target visual run also passed 130/130 with `maxDiffPixels=0` and `maxDiffPixelRatio=0`. +The durable evidence identifies source-tree digest +`6724c2f898eefc62d2fc0ee695bccc3ae61a69c5153ed43c69f2cf99ee45bca5`, +candidate `3a7c5deca06679fb9b8710da2cce87bbca07ce8a`, build-manifest digest +`3579650faa482f566553c00d8b4a05a05b4f7a1ab93b83e48676289bbcf02984`, +Vite-manifest digest +`cfd583ed7b6c27dce7f47389447608636b6b9df3e28df00c6416674da2c7c46d`, +case-inventory digest +`5689bcdb5d5637205cdeb92b7c57f72d99f0b039818b8f90afdde526bbafe0ac`, +and evidence-payload digest +`f046047beded19ce468be607dcf99c6b74d4e07323457ec7145c56d2f67d2c79`. + The comparison found and corrected actual integration defects rather than accepting drift: the TechLog Tailwind bootstrap is loaded exactly once in the same cascade order as source; the starter theme import is removed; CSS-module @@ -84,10 +114,12 @@ source/target CSS pairs pass `cmp -s`; their hashes are recorded in the operations baseline. Source production returns missing dynamic slugs and an unmatched Public path as -HTTP 404, `text/plain`, with the exact nine-byte body `Not Found`. Curl and -Chromium regression evidence therefore fixes the target to that shell-free -response. This is an observed source-production contract and satisfies the -planned prohibition on a generic runtime error; it is not a redesign. +HTTP 404, `text/plain;charset=UTF-8`, with the exact nine-byte body `Not Found`. +The target production boundary now returns that exact shell-free response; +known Public paths and all known Studio paths remain SPA-served, while an +unknown Studio path preserves the source's HTML Studio shell with HTTP 404. +This is an observed source-production contract and satisfies the planned +prohibition on a generic runtime error; it is not a redesign. ## Route, viewport, and state inventory @@ -105,9 +137,10 @@ All known Public fixtures were exercised: two cases, two references, two open questions, three topics, both projects and all three nested views, and release `0.1.0`. Ten unknown Public dynamic shapes were also compared at both widths. -The 112-case matrix is 54 canonical-route captures, 12 home breakpoints (1180, -1179, 1050, 1024, 980, 900, 820, 768, 767, 420, 390, and 375), 19 Studio -states, 20 unknown-Public captures, and 7 interactions. Studio states cover the +The 130-case matrix is 54 canonical-route captures, 18 additional known Public +fixture captures, 12 home breakpoints (1180, 1179, 1050, 1024, 980, 900, 820, +768, 767, 420, 390, and 375), 19 Studio states, 20 unknown-Public captures, and +7 interactions. Studio states cover the dashboard, list/new, Case/Reference/Question/conflict editors, valid/invalid validation, current/missing/expired previews, ready/blocked publish, publications/snapshot, missing document/publication, and unknown Studio route. @@ -120,8 +153,14 @@ warning acknowledgement through publish-ready state. - Required four-spec Chromium command: **48/48 passed**. It covers Public discovery, the full Studio workflow, responsive behavior, and accessibility. - Responsive plus accessibility focused command: **26/26 passed**. -- Exact target visual command: **112/112 passed** in 2.5 minutes with no masks +- Direct production HTTP contract: **39/39 passed**, including exact raw Public + 404s, the in-shell Studio 404, known SPA routes, and boot documents. +- Exact target visual command: **130/130 passed** in 2.5 minutes with no masks and zero pixel tolerance. +- Automated Chromium `@a11y`: **29/29 passed**. The 27 human review records are + intentionally pending, so `corepack pnpm review:a11y-manual` exits 1 and + lists missing status, candidate release ID, reviewer/signature/attestation, + reviewed time, M1-M7, and screen-reader evidence for every route. - Keyboard/focus checks cover Public search dismissal/restoration, Studio mobile navigation, dirty-leave and unpublish dialogs, labels, heading/landmark order, and focus-visible behavior. Axe reports no violations in the required route @@ -133,6 +172,8 @@ Commands: ```bash corepack pnpm exec playwright test tests/e2e/tech-log-public-discovery.spec.ts tests/e2e/tech-log-studio-workflow.spec.ts tests/e2e/tech-log-responsive.spec.ts tests/e2e/tech-log-accessibility.spec.ts --project=chromium corepack pnpm exec playwright test tests/e2e/tech-log-responsive.spec.ts tests/e2e/tech-log-accessibility.spec.ts --project=chromium +corepack pnpm exec playwright test tests/e2e/tech-log-http-contract.spec.ts --project=chromium +corepack pnpm exec playwright test tests/e2e/accessibility.spec.ts --project=chromium --grep @a11y corepack pnpm exec playwright test tests/visual/tech-log.visual.spec.ts --config=playwright.visual.config.ts --project=chromium corepack pnpm test:visual ``` @@ -181,12 +222,12 @@ corepack pnpm test:sample-removal ``` Result: **PASS (13 checks, no fixture IDs)**. Its internal evidence included -types; reduced architecture (383 modules/1,173 dependencies, 12 graph checks, +types; reduced architecture (382 modules/1,170 dependencies, 12 graph checks, 9 forbidden fixtures); 11 registry checks; runtime schema 3 files/40 tests; -unit 115/1,247; component 18/124; integration 8/74; recipes 2/17; coverage 164 -files/1,653 tests at 77.41% statements, 73.26% branches, 83.89% functions, and -80.03% lines; risk coverage 382/382 with 76 thresholds; source evidence 198 -files/111 baselines; artifact/CI checks; router smoke 9/9; and production build. +unit 118/1,250; component 18/124; integration 8/74; recipes 2/17; coverage at +77.40% statements, 73.26% branches, 83.88% functions, and 80.02% lines; risk +coverage 381/381 with 76 thresholds; source evidence 202 files/129 baselines; +artifact/CI checks; router smoke 9/9; and production build. Fresh completion commands and results: @@ -194,34 +235,41 @@ Fresh completion commands and results: | --- | --- | | `corepack pnpm exec vitest run tests/features/tech-log` | 21 files, 170 tests passed | | required four-spec Chromium command above | 48 tests passed | -| `corepack pnpm test:visual` | 112 tests passed | +| `corepack pnpm exec playwright test tests/e2e/tech-log-http-contract.spec.ts --project=chromium` | 39 tests passed | +| Chromium `@a11y` command above | 29 tests passed | +| `corepack pnpm test:visual` | 130 tests passed | | `corepack pnpm check:types` | app/node/test/recipes/web-worker/service-worker passed | | `corepack pnpm lint` | passed with 0 warnings | -| `corepack pnpm check:architecture` | 392 modules, 1,215 dependencies, 12 graph checks, 9 forbidden fixtures passed | +| `corepack pnpm check:architecture` | 391 modules, 1,212 dependencies, 12 graph checks, 9 forbidden fixtures passed | | `corepack pnpm check:design-system` | 48 tokens and vendor boundaries passed | | `corepack pnpm check:i18n` | 194 keys across 4 locales passed | | `corepack pnpm check:registries` | 11 registries passed; compatibility `none` | | `corepack pnpm check:browser-security` | injection rejected; Public source maps absent | -| `corepack pnpm build` | 2,352 modules transformed; build and manifest completed | +| `corepack pnpm build` | 2,351 modules transformed; build and manifest completed | | `git diff --check` | passed | -The exact managed-workspace `corepack pnpm test:all` passed runtime schema 3/40, -then its unit phase passed 117 files/1,738 tests and failed 50 tests in only -three child-process-heavy files due to `spawnSync ... EPERM`: 39 -`ci-artifact-contract`, 2 `ci-workflow-generation`, and 9 -`http-scenario-evidence`. No TechLog test failed. The exact isolated command: +The fresh staged-candidate `corepack pnpm test:all` passed runtime schema 3/40, +then its unit phase passed 122 files/1,773 tests and failed 19 tests in only +`ci-artifact-contract`. The failures are the documented provider/cgroup, +RLIMIT/EMFILE, restrictive-umask, `/tmp`, timing, and identity environment +cases; no TechLog test failed. A pre-staging run had also exposed 39 +release-inventory `APP_HOME` failures because the new serving files were not +yet visible to `git ls-files`; staging the complete candidate corrected that +test precondition, and all 39 disappeared. Its one aggregate guardian timeout +passed 1/1 in isolation and 21/21 in the fresh staged aggregate. + +The earlier exact baseline-isolation command: ```bash corepack pnpm exec vitest run tests/unit/ci-artifact-contract.test.ts tests/unit/ci-workflow-generation.test.ts tests/unit/http-scenario-evidence.test.ts ``` ran 3 files/529 tests: 510 passed; all 407 CI-workflow and all 14 HTTP-scenario -tests passed; the remaining 19 pre-existing CI-artifact provider/cgroup, -RLIMIT/EMFILE, umask, `/tmp`, timing, and identity cases failed. Direct runs of -the aggregate's remaining phases passed: component 18/124, integration 11/82 -under the required child-process scope, reference feature 4/13, and recipes -2/17. This environment-only baseline is also recorded in the operations -baseline. +tests passed, leaving the same 19 environment-only CI-artifact cases. Direct +runs of the aggregate's remaining phases passed: component 18/124, integration +11/82 under the required child-process scope, reference feature 4/13, and +recipes 2/17. This environment-only baseline is also recorded in the +operations baseline. ## Fixes, branch audit, and handoff @@ -235,9 +283,28 @@ presentation import of adapters, Next.js, Vinext, or Cloudflare. The 27 route chunks are present in the release manifest and derive from actual Vite output, not hard-coded generated filenames. -Before the Task 14 commit, the full migration range contains the 21 prior -commits from baseline establishment through `c5c8b94` and changes 352 files -(26,025 insertions, 3,467 deletions). This report's commit adds the integrated -parity evidence and fixes with the exact message -`test: prove TechLog UI migration parity`. Final status and range are checked -again after the commit; integration remains explicitly deferred. +The immutable code candidate +`3a7c5deca06679fb9b8710da2cce87bbca07ce8a` contains the production 404 +boundary, parity runner, tests, snapshots, and 27 pending human-review records. +Only after that commit existed was the target rebuilt cleanly and the final +130-case parity, visual, HTTP, accessibility, and static verification rerun. +This report and its JSON are committed separately as +`docs: record TechLog migration evidence`; later human accessibility evidence +must cite the candidate SHA, not the evidence-only commit. + +The independent `final-review.md` remains the immutable review input with its +historical `CHANGES_REQUESTED` verdict. This candidate addresses its production +404 issue with a real build artifact and 39 direct HTTP tests; expands the +source matrix from 112 to 130 and makes recursive tree equality part of pass; +and replaces the missing `tsx` invocation with a checked Node runner and +durable provenance. Its accessibility inventory issue is structurally fixed +and automated Chromium coverage is green, but the reviewer-dependent 27 human +records deliberately remain pending. No review verdict was rewritten or +self-approved. + +Manual completion requires a human to check out candidate +`3a7c5deca06679fb9b8710da2cce87bbca07ce8a`, review every route according to +`docs/accessibility/manual-checklist.md`, fill each record's exact candidate +Release ID, reviewer, signature, attestation, reviewed time, M1-M7, and screen +reader result, commit that evidence separately, then rerun +`corepack pnpm review:a11y-manual`. Until then `FE-GATE-009` remains pending. diff --git a/docs/operations/evidence/tech-log-source-parity.json b/docs/operations/evidence/tech-log-source-parity.json new file mode 100644 index 0000000..9903ac7 --- /dev/null +++ b/docs/operations/evidence/tech-log-source-parity.json @@ -0,0 +1,20009 @@ +{ + "generatedAt": "2026-08-15T19:58:58.596Z", + "schemaVersion": 1, + "source": { + "baseUrl": "http://127.0.0.1:4375", + "root": "/home/donghyeon/workspace/techlog-studio-frontend", + "treeSha256": "6724c2f898eefc62d2fc0ee695bccc3ae61a69c5153ed43c69f2cf99ee45bca5", + "checksums": [ + { + "path": ".gitignore", + "bytes": 512, + "sha256": "d665e418540f5d01864bb9862ebba565661fb990183bb8d3ff79ca2c2b240bb0", + "kind": "file" + }, + { + "path": ".npmrc", + "bytes": 76, + "sha256": "494e64a8818b6158e89321250500ad5ad018e33ad5cfea06a1cacd2cf4da75fa", + "kind": "file" + }, + { + "path": ".openai/hosting.json", + "bytes": 91, + "sha256": "59675562cc88ebee5d305a6d6c71909f775fa68907415c1e43fedb922d0280eb", + "kind": "file" + }, + { + "path": ".wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite", + "bytes": 4096, + "sha256": "4c34b48e33536be849e9810707c97ff2b5625bb5cbf1637dbe384cfffdda3b9d", + "kind": "file" + }, + { + "path": ".wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite-shm", + "bytes": 32768, + "sha256": "c48f0e27abd0951be8cfd83b2ac5900b9014a859d2b1f9a7846d564ceec087f4", + "kind": "file" + }, + { + "path": ".wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite-wal", + "bytes": 8272, + "sha256": "aebbfd89e3d98981a5ecdda3229890145a7c4c79aa1f58cea15b2f27b12c38f4", + "kind": "file" + }, + { + "path": "app/[...slug]/page.tsx", + "bytes": 108, + "sha256": "02e359e391b347ae6f7ad66c63bcaade915c53064c62a817f3aee7393cae1e7a", + "kind": "file" + }, + { + "path": "app/cases/collection-fetch-join-pagination/page.tsx", + "bytes": 1094, + "sha256": "a56e392f4cfe2c188890466ffd1d992571c05a876272e1b4841a6d246a4e90df", + "kind": "file" + }, + { + "path": "app/cases/redis-adapter-ttl-boundary/page.tsx", + "bytes": 515, + "sha256": "cb5c3b4906099e1ca121e99567c93346713010e96e3b4804895824118f6fc961", + "kind": "file" + }, + { + "path": "app/chatgpt-auth.ts", + "bytes": 2404, + "sha256": "17a965f8948b21510cdf8ecbd70c5fdf58100e10970463f6a8fd2cc4795f8044", + "kind": "file" + }, + { + "path": "app/error.tsx", + "bytes": 461, + "sha256": "c40761ca9ee6d789a5d31666aac87b37c2e046f9fdc34be9ae0abef977baeb9d", + "kind": "file" + }, + { + "path": "app/explore/[kind]/page.tsx", + "bytes": 2597, + "sha256": "d099b77826357259dd2d1e5ce6f970dd097f8da1159cd952951cb6422ba67b79", + "kind": "file" + }, + { + "path": "app/explore/page.tsx", + "bytes": 1942, + "sha256": "f0e943f8228ed9d0e73398cd50472435a58ede992635b3c92b75b0acb53e5dcc", + "kind": "file" + }, + { + "path": "app/globals.css", + "bytes": 78425, + "sha256": "901205054ee96fe15062aaef7ff39c701985fdece15b58f7656776d0b744e607", + "kind": "file" + }, + { + "path": "app/layout.tsx", + "bytes": 723, + "sha256": "cefbe58692debc3164328fcc6b15b23bd489502c7acfa580ee7138e06d087da7", + "kind": "file" + }, + { + "path": "app/page.tsx", + "bytes": 2936, + "sha256": "2f9f86a435dd2b26d50b123b31c10886ba754972bcfa5e1a59003b6713f99a5a", + "kind": "file" + }, + { + "path": "app/profile/page.tsx", + "bytes": 1909, + "sha256": "6c781dc1ccf22d36518580bbbeeb5461b5cda5c3ee0d016b7a502d4946bb87b1", + "kind": "file" + }, + { + "path": "app/projects/[slug]/activity/page.tsx", + "bytes": 1521, + "sha256": "014c36471d7453653ee0f8318da0961e9ca47dbfe10b5b9fd9657f9913e55ac2", + "kind": "file" + }, + { + "path": "app/projects/[slug]/decisions/page.tsx", + "bytes": 1802, + "sha256": "0dabd94778910ee5d44ecf359331847979e403fbbeffaae4d7e0c7e411bb21ff", + "kind": "file" + }, + { + "path": "app/projects/[slug]/page.tsx", + "bytes": 2426, + "sha256": "3a32094bce361777667d531e266bf1f6ba26b096cb53b076fd9b926664774920", + "kind": "file" + }, + { + "path": "app/projects/[slug]/records/page.tsx", + "bytes": 1313, + "sha256": "fc52f2a794b2cb45ec9a818a58d5f3cbcf692d9ace805b4d5ee73fe329dbbf9e", + "kind": "file" + }, + { + "path": "app/projects/page.tsx", + "bytes": 1283, + "sha256": "06e17bccfda793ecde939296be2ad746abf10200ab417de45129862403935bff", + "kind": "file" + }, + { + "path": "app/questions/[slug]/page.tsx", + "bytes": 758, + "sha256": "1823966cb4c8da48b823170035f498378fcb888949ebcf8def2563d820cb2c92", + "kind": "file" + }, + { + "path": "app/references/[slug]/page.tsx", + "bytes": 767, + "sha256": "5c1ff59062a3ce7e74e74da009b18b2a5925988896cfa48aa86c2712bcf951b7", + "kind": "file" + }, + { + "path": "app/releases/[version]/page.tsx", + "bytes": 2284, + "sha256": "74061b69ac0c425bd2686a601dcda6b4955e42f332fc171f633c32d61bffee16", + "kind": "file" + }, + { + "path": "app/releases/page.tsx", + "bytes": 1176, + "sha256": "9a891936e33a1a280eb6068f1d86e350b23e759a674fb4d26861ae36e2866735", + "kind": "file" + }, + { + "path": "app/search/page.tsx", + "bytes": 2336, + "sha256": "19961e01eb762bc389ea1fdfea92a2a19facba16d937491f325e510c22e98cd5", + "kind": "file" + }, + { + "path": "app/studio-editor.css", + "bytes": 6922, + "sha256": "ae9a473192d24465021d021cd42a5a84f9bdf4c3af0664537b4e10006ca1f889", + "kind": "file" + }, + { + "path": "app/studio.css", + "bytes": 13456, + "sha256": "d0d958baeb55b74796988d8c0967a7c62d211e595224e07912aa1f884e466fdd", + "kind": "file" + }, + { + "path": "app/studio/[...unknown]/page.tsx", + "bytes": 114, + "sha256": "1ead1f05ee9d49824d58239ffd9695efb77440664dbb5fd0b4535bc31552f64d", + "kind": "file" + }, + { + "path": "app/studio/documents/[id]/edit/page.tsx", + "bytes": 285, + "sha256": "134241ebfe34df9d8e61777407a56952d5e88bb36a3b33843950fdd589c2e707", + "kind": "file" + }, + { + "path": "app/studio/documents/[id]/preview/page.tsx", + "bytes": 348, + "sha256": "4170eb8b960c9513ce77dd61c071d601c3f834b416e48cd027969c4de218f8db", + "kind": "file" + }, + { + "path": "app/studio/documents/[id]/publish/page.tsx", + "bytes": 497, + "sha256": "5035bfc29c441f91180b8b184d42ccae7f9c0514f48db356459f71278043bdfe", + "kind": "file" + }, + { + "path": "app/studio/documents/[id]/validation/page.tsx", + "bytes": 341, + "sha256": "3f9a88f010e09a3226650b3bd3d0f37a1cafd59dafffe31f5f844c0693ed4b4e", + "kind": "file" + }, + { + "path": "app/studio/documents/new/page.tsx", + "bytes": 166, + "sha256": "00c36f9d5db95cfaaa6fec3426316f25efc983fd489d3e88b710f0b713d074e4", + "kind": "file" + }, + { + "path": "app/studio/documents/page.tsx", + "bytes": 151, + "sha256": "8f36538cb071388f61ce6a45b726611039c654aa1eb5ea6c3ede23861729f8ea", + "kind": "file" + }, + { + "path": "app/studio/error.tsx", + "bytes": 418, + "sha256": "02dbc1041820397381ea30692b88308b2e2a8d4782167ed50077acabfa5c28f1", + "kind": "file" + }, + { + "path": "app/studio/layout.tsx", + "bytes": 758, + "sha256": "7fc13de29bcbb9669bdc5c896b3b6bdd85a80af87634856520d4c59f2d7e4582", + "kind": "file" + }, + { + "path": "app/studio/loading.tsx", + "bytes": 146, + "sha256": "32751fd9ac67df8c35c1004be0985ac3271a5422d3cd9d1c009a5262bf48a4b9", + "kind": "file" + }, + { + "path": "app/studio/not-found.tsx", + "bytes": 488, + "sha256": "97a0b75624031a968f7be09f25fec1a432297335c4d2da2f8484aef9c1d4d32b", + "kind": "file" + }, + { + "path": "app/studio/page.tsx", + "bytes": 152, + "sha256": "93970adac2bd42419dfb10713d07e9bec70cc17e52ff5dfedc1f683a20675cba", + "kind": "file" + }, + { + "path": "app/studio/publications/[publicationEventId]/preview/page.tsx", + "bytes": 606, + "sha256": "39644960db62e31075c2b6cda6c97e9eed0be1845c01f1432c4110342356bc6a", + "kind": "file" + }, + { + "path": "app/studio/publications/page.tsx", + "bytes": 382, + "sha256": "480eeb802e462c5b7c9f90f8179137622fd8fd3ec358539456b520000219bc21", + "kind": "file" + }, + { + "path": "app/topics/[slug]/page.tsx", + "bytes": 1695, + "sha256": "aa945a7830feeefd6eb081c0a41730d7c6e93012b1a9ab0ec0dee9d136263e04", + "kind": "file" + }, + { + "path": "build/sites-vite-plugin.ts", + "bytes": 1254, + "sha256": "81b7cbfaeb970611572256aba0e313425beb3809f6426f63750696c15d9c756b", + "kind": "file" + }, + { + "path": "components/case-document-page.tsx", + "bytes": 509, + "sha256": "47201b3ee9568324631ee9da4092b3cc7e19257b0a105890419f646b67c4d224", + "kind": "file" + }, + { + "path": "components/code-block.tsx", + "bytes": 1619, + "sha256": "18f5fe3d9ae23bc1cf4f2f6d43b4692e7e772d471d72480d63ba41c4e493cb51", + "kind": "file" + }, + { + "path": "components/document-toc.tsx", + "bytes": 2419, + "sha256": "b7fc3015909ab59373fb5e7b944c2f913f6cdd1f041ebb783496950f33966ca5", + "kind": "file" + }, + { + "path": "components/evidence-figure.tsx", + "bytes": 534, + "sha256": "b69468d8368b1b9595328de599fb47448184a147227d8e35583625c56bf954db", + "kind": "file" + }, + { + "path": "components/explore-filter-form.tsx", + "bytes": 1858, + "sha256": "8f78934ea2676e6671005919e53f31e22bd97d0df08d53c77247b6ac73a60dd5", + "kind": "file" + }, + { + "path": "components/fatal-error-state.tsx", + "bytes": 949, + "sha256": "61766791aa8aa21823f2981bf191e6b6009f448f43dc82e346ef229d444e1f79", + "kind": "file" + }, + { + "path": "components/home-focus.tsx", + "bytes": 3673, + "sha256": "b05a35ead5110ff27fc61ff548e034b7b14e5aa3175cf8243c87dd1901999bfb", + "kind": "file" + }, + { + "path": "components/latest-index.tsx", + "bytes": 2091, + "sha256": "cf187d74306454b633817a8aefe838d6fc4be27acd4f1975a8c3eaedca11bbf3", + "kind": "file" + }, + { + "path": "components/project-navigation.tsx", + "bytes": 911, + "sha256": "1fb9f2127b852c598ad9be0aab1a4462a3dc201387d688a0ac3c8956d7ebab9b", + "kind": "file" + }, + { + "path": "components/project-page-header.tsx", + "bytes": 627, + "sha256": "8875e03c0d02516e2cd39e0e1a069d890661f179227972cfd781174cf060ba03", + "kind": "file" + }, + { + "path": "components/public-document-header.tsx", + "bytes": 1114, + "sha256": "c110d79c2e3c997af2c60acc8b6efc7ae9d0514421b90b71df06945007b2ade6", + "kind": "file" + }, + { + "path": "components/public-document-relations.tsx", + "bytes": 882, + "sha256": "35a930b040a30bede7957f8c81738d8f323b89037da6153746a0e205c93c9c68", + "kind": "file" + }, + { + "path": "components/public-record-list.tsx", + "bytes": 1094, + "sha256": "aab6840f2a752b484b12069fb0381be704abc9f5ad48a87189c9df5004aaa113", + "kind": "file" + }, + { + "path": "components/public-render/callout.tsx", + "bytes": 517, + "sha256": "6ca8c86ae6ee8b53ecc489c933732182dc28cd1fd358e4a36f30deafa39601da", + "kind": "file" + }, + { + "path": "components/public-render/case-body-renderer.tsx", + "bytes": 4044, + "sha256": "42b6451dc881549304fa6b7e8b1ee58a9940f9c00c261e437bc1f44357e9dea1", + "kind": "file" + }, + { + "path": "components/public-render/data-table.tsx", + "bytes": 1864, + "sha256": "f4c2f429a6acc1add60e6375969f860bb3dc123a17e744a50ebe8f5d9615bb63", + "kind": "file" + }, + { + "path": "components/public-render/evidence-figure.tsx", + "bytes": 2410, + "sha256": "6ee8bf7744bbc233deb558f56eb21c99e5a622ba75e99e7d33d1dd23c54ef890", + "kind": "file" + }, + { + "path": "components/public-render/inline-renderer.tsx", + "bytes": 1234, + "sha256": "2ae6fcd40a6cc6d535510caca6f251a928e74db017d884634c1203626ab2f2d9", + "kind": "file" + }, + { + "path": "components/public-render/public-record-renderer.tsx", + "bytes": 12944, + "sha256": "916f435e7f004dc3d9377b231b50c1ed6beb1a47325909163f5986f511d46344", + "kind": "file" + }, + { + "path": "components/public-shell.tsx", + "bytes": 998, + "sha256": "248be8c51a6cc04d640aef7eafa99b2f3ef0b943ed776a7112d0d2d48d937bde", + "kind": "file" + }, + { + "path": "components/question-document-page.tsx", + "bytes": 521, + "sha256": "bf94ce76ed10bc74bbbb97e76882f0c0685c9195b77432b150dc1592578bb65e", + "kind": "file" + }, + { + "path": "components/reference-document-page.tsx", + "bytes": 524, + "sha256": "834ab39286eca3419ae73800b4c7aee158274ce7dd9a364bbc05e3273d74bb06", + "kind": "file" + }, + { + "path": "components/search-dialog.tsx", + "bytes": 3508, + "sha256": "7faf8c96dbd86572195af0086bdc021339b59838d76242fef06df699916e293f", + "kind": "file" + }, + { + "path": "components/site-header.tsx", + "bytes": 2130, + "sha256": "2220c6303f561504438c5494a73fa00926496265aabf16c44fba36e8b7d44fef", + "kind": "file" + }, + { + "path": "components/studio/case-fields.tsx", + "bytes": 1880, + "sha256": "e3abf45bc12a1effbb9e98b7899e2270ce684973dbc90aa79ac13f0df269b605", + "kind": "file" + }, + { + "path": "components/studio/common-document-fields.tsx", + "bytes": 2252, + "sha256": "16956e66ff0ef0816e81442e6d975b92456fed71b17a2cd47b4ae7db37a7b65d", + "kind": "file" + }, + { + "path": "components/studio/document-editor-screen.tsx", + "bytes": 5033, + "sha256": "681ecade263de3b3d5e1bfae149ebcbf6e10c8140a02932f96a6e9dfeb32fa50", + "kind": "file" + }, + { + "path": "components/studio/document-editor.tsx", + "bytes": 4070, + "sha256": "b3c56f02018c29f804fd64b768d17f99e35c38bbd8146452870622f9965ccf22", + "kind": "file" + }, + { + "path": "components/studio/document-list.tsx", + "bytes": 5498, + "sha256": "47450a86b68d7374dbe65bb9550e89c97176f8d26ee57eeca9adca6787338b2d", + "kind": "file" + }, + { + "path": "components/studio/document-status-rail.tsx", + "bytes": 1673, + "sha256": "f20986926577089e18ec3588cb6516c2a70323824059c5797cf05fa8dbbc473b", + "kind": "file" + }, + { + "path": "components/studio/guarded-studio-link.tsx", + "bytes": 1286, + "sha256": "42a99d98f20f9c4735d824ff05191e1f6ccff194b31a7c7cc4470425eb8c999a", + "kind": "file" + }, + { + "path": "components/studio/instant-preview.tsx", + "bytes": 1389, + "sha256": "2ddcd1437aa41977e9c7988dd91bdb4afe65f48fe2c7cb02638449aabd01f5fb", + "kind": "file" + }, + { + "path": "components/studio/new-document-form.tsx", + "bytes": 3536, + "sha256": "fd00fb73257c9eddc93d84ebb9d19eda6b89f4fd2e54ff15a00acda36fb30cf4", + "kind": "file" + }, + { + "path": "components/studio/ordered-text-list.tsx", + "bytes": 2065, + "sha256": "bb4425d508521df455b44cad93e8930148685c4290bbec46129fa244472064a8", + "kind": "file" + }, + { + "path": "components/studio/public-preview-screen.tsx", + "bytes": 7796, + "sha256": "ea8deba65d84c2dd32f95dd6ece5575cbedfbc5cd3d09335f0f565cc339d5a83", + "kind": "file" + }, + { + "path": "components/studio/publication-event-preview-screen.tsx", + "bytes": 4281, + "sha256": "59dc8d3388940b784ca55b54e53f95de4042139264d12e45d8cd4d85bbc7b569", + "kind": "file" + }, + { + "path": "components/studio/publication-flow-classes.ts", + "bytes": 1727, + "sha256": "994f91982fe9f2528c1bcd9c375843cbf42495aff43c945fa8e52d02338c704c", + "kind": "file" + }, + { + "path": "components/studio/publication-flow.module.css", + "bytes": 8606, + "sha256": "5b1fdebeb27248b5cebc700b12d15cf11fe70471a394c9dc643a98c4569e8674", + "kind": "file" + }, + { + "path": "components/studio/publication-list.tsx", + "bytes": 8684, + "sha256": "a66a95e56f46b96ca0dc4bd28173b448c3fc6039c006320bbf16b2be3d2d0461", + "kind": "file" + }, + { + "path": "components/studio/publish-screen.tsx", + "bytes": 11596, + "sha256": "2d271b53c8946979f257291ebcf93facc94931dffd750fb92c4e7d86744a8d54", + "kind": "file" + }, + { + "path": "components/studio/question-fields.tsx", + "bytes": 5489, + "sha256": "769c62a2bb5a344c69c7b6b226bed35ca23c379f33117c7a656d2703ef1e7737", + "kind": "file" + }, + { + "path": "components/studio/reference-fields.tsx", + "bytes": 3574, + "sha256": "328d864e8f2de087f3132682c688699d56b0e5413ddb12244cee4c06c86debbb", + "kind": "file" + }, + { + "path": "components/studio/relation-editor.tsx", + "bytes": 2688, + "sha256": "d628b2b044ac7abaa275c9f9bfff0ed66612d2b8b79820970ac19baf1e846d74", + "kind": "file" + }, + { + "path": "components/studio/studio-dashboard.tsx", + "bytes": 5295, + "sha256": "bb57039160bc03af1fd1eb2fd4a6d6e37c3851cb79b98b4e26b646aa5198a406", + "kind": "file" + }, + { + "path": "components/studio/studio-header.tsx", + "bytes": 2143, + "sha256": "48004d31b6670684f3925dbc790503baf71b553e2b40a2681e7bbeec1ab1469c", + "kind": "file" + }, + { + "path": "components/studio/studio-provider.tsx", + "bytes": 5872, + "sha256": "2c3825f1aab412b4d76b1a7ca5f93bc0821152e40371b356fe2522a2294a75e7", + "kind": "file" + }, + { + "path": "components/studio/studio-runtime-boundary.tsx", + "bytes": 1354, + "sha256": "b4068b9837c80b4848f68fe220001c10a6ea29dea6e47aadbb5a17d3def13d31", + "kind": "file" + }, + { + "path": "components/studio/studio-shell.tsx", + "bytes": 706, + "sha256": "930ce16bb646a02410c93127f2e9810d189837c6ab7c82a95606e0bcf2917b6f", + "kind": "file" + }, + { + "path": "components/studio/unpublish-dialog.tsx", + "bytes": 2958, + "sha256": "e37a1f4b69fe2bc66d419708facb651a022686b009518800b587a0ed6587c853", + "kind": "file" + }, + { + "path": "components/studio/unsaved-leave-dialog.tsx", + "bytes": 2289, + "sha256": "3c21eb1b2b8b3f072f2d59298bd4981b1b19b8b13ba6e367cce09717b1c888e0", + "kind": "file" + }, + { + "path": "components/studio/use-before-unload.ts", + "bytes": 432, + "sha256": "f088d83f16d30230d0cd14d12317dc2f72c09299114c350b2a791594a74fee12", + "kind": "file" + }, + { + "path": "components/studio/use-studio.ts", + "bytes": 1729, + "sha256": "82bb1fd94af3b43eeebf7c2ba308840eaa52097e9cfc237f288df9d8d26ed1cf", + "kind": "file" + }, + { + "path": "components/studio/validation-report.tsx", + "bytes": 3043, + "sha256": "6c7dd5493c0a2331dd0964321ee9f4ec2d4685e53f273df2fe53c08d0d9dde46", + "kind": "file" + }, + { + "path": "components/studio/validation-screen.tsx", + "bytes": 6268, + "sha256": "8c766a89676b72c636f9e4d5147c20bae02adfd95f3a6251905d5c753a6ffb36", + "kind": "file" + }, + { + "path": "components/studio/warning-acknowledgements.tsx", + "bytes": 1737, + "sha256": "2e47f502230f092377eb83dce0c6c3a1708389832cfe622cf5cb21b5d1d1d7d1", + "kind": "file" + }, + { + "path": "components/studio/workflow.module.css", + "bytes": 7578, + "sha256": "8eaa478a88ef4d16429c7f6a32bb33631acb47deef0b40838edd0a72748f124e", + "kind": "file" + }, + { + "path": "contracts/studio-api.openapi.yaml", + "bytes": 51156, + "sha256": "36596adb6b99fb7b1964a65cff2b7a70eed0e870f8c082cbc83564b72f68a6c5", + "kind": "file" + }, + { + "path": "db/schema.ts", + "bytes": 169, + "sha256": "13ddacbf0be50e054d450a6c642b7fdc1aa943fd6b99084711e07e58b600390d", + "kind": "file" + }, + { + "path": "docs/superpowers/plans/2026-08-12-review-navigation.md", + "bytes": 10390, + "sha256": "f2557aeac8d4243e6be1d55a499bdeecc18e9896b45da2eacebe9a977912567a", + "kind": "file" + }, + { + "path": "docs/superpowers/plans/2026-08-12-studio-review-site.md", + "bytes": 3544, + "sha256": "14a7e47e6f5ed885b48cd7677064e36437a879f223649b225a830afacca0e5e5", + "kind": "file" + }, + { + "path": "docs/superpowers/plans/2026-08-12-techlog-quiet-technical-journal.md", + "bytes": 10136, + "sha256": "84e2cdd4c0c8522f2d7ab0a95dd157784d31db5c7ba3c8bad9a3b62553b1bfe4", + "kind": "file" + }, + { + "path": "docs/superpowers/plans/2026-08-13-complete-public-site.md", + "bytes": 6311, + "sha256": "eab34de77d0d193d142dc80ea850439676ae8181843147df3e94b6fa5f0c1949", + "kind": "file" + }, + { + "path": "docs/superpowers/plans/2026-08-13-header-dialog-activity-layout.md", + "bytes": 6812, + "sha256": "4f512266a9196aaefc364fb45a02abc7d1040f72c48d88733eb90e5654b9ed2b", + "kind": "file" + }, + { + "path": "docs/superpowers/plans/2026-08-14-techlog-studio-frontend.md", + "bytes": 82498, + "sha256": "facf70272ed3afb443b9d4dd67b87a76a2a37113a10300c9e3e5b94567ac2563", + "kind": "file" + }, + { + "path": "docs/superpowers/specs/2026-08-12-review-navigation-design.md", + "bytes": 2920, + "sha256": "922aafd228043758207017ca2bebb4543ba679efaa20a6ccb31874b2f4a57274", + "kind": "file" + }, + { + "path": "docs/superpowers/specs/2026-08-13-complete-public-site-design.md", + "bytes": 4810, + "sha256": "85178f26e793127e43a5e06809eef8515e1f1e8e308398a12ce5f2e92c05cc11", + "kind": "file" + }, + { + "path": "docs/superpowers/specs/2026-08-13-header-dialog-activity-layout-design.md", + "bytes": 2587, + "sha256": "16926e373241e98577ccbda48da70f906cb591f8c189babd1276c1beb4603852", + "kind": "file" + }, + { + "path": "docs/superpowers/specs/2026-08-13-techlog-studio-frontend-design.md", + "bytes": 20403, + "sha256": "796f0afc40f45524827b01f52b517e932aff596eed75021e36711060215d950f", + "kind": "file" + }, + { + "path": "drizzle.config.ts", + "bytes": 148, + "sha256": "af081f7384aaeb0082cf422e29f139d137ca2f6a57c69b2c37b9fb1f8479867b", + "kind": "file" + }, + { + "path": "drizzle/meta/_journal.json", + "bytes": 61, + "sha256": "90cb374e093894d0efce6f1830d873a42aadd8ba49d2f024495e5cb2e1c8c303", + "kind": "file" + }, + { + "path": "eslint.config.mjs", + "bytes": 465, + "sha256": "870f1adccecf3051cbcd9fd307cef51d7633cf510979c181a81f4b1797273493", + "kind": "file" + }, + { + "path": "lib/content-format/heading-id.ts", + "bytes": 465, + "sha256": "dc6c2507978e65622d97a5523777b48202a5733873a6dfa94b78e1282e5f6e62", + "kind": "file" + }, + { + "path": "lib/content-format/inline-plain-text.ts", + "bytes": 915, + "sha256": "0e494991849c2c10631487658d69624336fc794e55de210ec06170acafb9bb30", + "kind": "file" + }, + { + "path": "lib/content-format/parse-case-content.ts", + "bytes": 13916, + "sha256": "bd71f8056fdbf1821702636af66b5b2588a7c100e48c3ca67c4936635db76259", + "kind": "file" + }, + { + "path": "lib/content-format/project-public-render-model.ts", + "bytes": 6050, + "sha256": "d81028407454fb7672904d7103f026036dcb74df89d71652e29b80003edac20f", + "kind": "file" + }, + { + "path": "lib/content-format/serialize-case-content.ts", + "bytes": 6038, + "sha256": "6dce7e8fcee28994383d2da307df589e1988ab4a00df510826e1ad04ac776795", + "kind": "file" + }, + { + "path": "lib/content.ts", + "bytes": 4405, + "sha256": "a8c6f78757b12a57a71cafd418f4e6670b2d561cccefb692ca64dbb8cd1cc632", + "kind": "file" + }, + { + "path": "lib/evidence-assets.ts", + "bytes": 704, + "sha256": "bf18151eecf6c55fa05dc12d35221ae777b1028d91b420b72337a255dd435e76", + "kind": "file" + }, + { + "path": "lib/focus-state.d.mts", + "bytes": 353, + "sha256": "740a2afe199a9e5c2bc53c2ee9e775532720a2a87208b6d81349013f3d0e7020", + "kind": "file" + }, + { + "path": "lib/focus-state.mjs", + "bytes": 1396, + "sha256": "fc14fd45fca6f1311dc7c7bd064d9cb05504c674d513b598b06250bc3d135f3e", + "kind": "file" + }, + { + "path": "lib/public-content.ts", + "bytes": 29038, + "sha256": "c10241419e8e2c8edde2f257083ef063147059d7233fee44dfd8fdf47307447d", + "kind": "file" + }, + { + "path": "lib/public-query.ts", + "bytes": 5932, + "sha256": "22a68dfc5ccbe361ab2090850a34e8be9fc477829c7826bda26017545ae7ca0a", + "kind": "file" + }, + { + "path": "lib/public-render-content.ts", + "bytes": 13219, + "sha256": "e2f1d26b46ce0bf351034ca79c13796893a84c1a8b5f81fadbaa7de0677bd603", + "kind": "file" + }, + { + "path": "lib/studio/api/contract.ts", + "bytes": 1545, + "sha256": "7c92261f0f4703f7f18c56b7e2e0b67f53d0b20e37032c6d49ba7f405df84354", + "kind": "file" + }, + { + "path": "lib/studio/api/generated.ts", + "bytes": 48831, + "sha256": "bd5f1155ddd48332b28bfd9fde96e9b465bce5b64f57f1170056930f185ec3c7", + "kind": "file" + }, + { + "path": "lib/studio/api/studio-gateway-error.ts", + "bytes": 1104, + "sha256": "1fe93d497241d00d85cc661d742b22f82be4ae1f1a81944a56e6d2b7cdc4e02e", + "kind": "file" + }, + { + "path": "lib/studio/api/studio-gateway.ts", + "bytes": 2521, + "sha256": "316749d0752d415d94999e40123044242b45ab669deda785c92880193f41bdb6", + "kind": "file" + }, + { + "path": "lib/studio/document-state.ts", + "bytes": 4157, + "sha256": "c82de45949f132eb5c62d2016941b272bb583ad9466f046f7c2cd5a8c06a9725", + "kind": "file" + }, + { + "path": "lib/studio/local-id.ts", + "bytes": 461, + "sha256": "c10e14f20030f49bba8b99889c7c87debf4b6fef2da22960f7a302fe65932a51", + "kind": "file" + }, + { + "path": "lib/studio/mock/cursor.ts", + "bytes": 1871, + "sha256": "42ff2df32bf57c3c47740a027b4c08af87b9af655d2022acb8b0d464ed533a6d", + "kind": "file" + }, + { + "path": "lib/studio/mock/fixtures.ts", + "bytes": 14430, + "sha256": "db886c17ad67c8228fe3cf0b1d058a1725e37801c1feb320e39feab231b25110", + "kind": "file" + }, + { + "path": "lib/studio/mock/mock-state.ts", + "bytes": 1911, + "sha256": "9bf0841618171660c1a18f8dade630d1227c2ad991d916124bee4bfe1f3a2f64", + "kind": "file" + }, + { + "path": "lib/studio/mock/mock-studio-gateway.ts", + "bytes": 21472, + "sha256": "525457220d3723ab9c29082342b39c575224b82bc67a62c7cd42acff2a3619b0", + "kind": "file" + }, + { + "path": "lib/studio/mock/project-public-render-model.ts", + "bytes": 87, + "sha256": "ff9a088303d1bbf4ea8c8a86ec94f78619d4f9335e074535734be1014d217bf3", + "kind": "file" + }, + { + "path": "lib/studio/mock/stable-stringify.ts", + "bytes": 459, + "sha256": "fbd3365b4edddd81cd96732e14c7c93b30382c616072b0283b580656b6f98569", + "kind": "file" + }, + { + "path": "lib/studio/mock/validate-working-copy.ts", + "bytes": 16012, + "sha256": "c10cabdafd0f6e26a5ccf9cb98bad7efdfc2f90fc770303a30ae488eb21ff000", + "kind": "file" + }, + { + "path": "next.config.ts", + "bytes": 133, + "sha256": "614bce25b089c3f19b1e17a6346c74b858034040154c6621e7d35303004767cc", + "kind": "file" + }, + { + "path": "package-lock.json", + "bytes": 461759, + "sha256": "5447773921528a6635ab6d35bbbaf8356012fd129b3079dadf568c26840fcefb", + "kind": "file" + }, + { + "path": "package.json", + "bytes": 2297, + "sha256": "fc96ec0802f9ebad368e21484ee32fa28a2c2cac6a5ab767e243cbc4371eef6e", + "kind": "file" + }, + { + "path": "postcss.config.mjs", + "bytes": 94, + "sha256": "dfac7ac2d86d326a0e5adb024e7943c181393ed17a5fcb8f0315b24c7da6ddde", + "kind": "file" + }, + { + "path": "public/favicon.svg", + "bytes": 712, + "sha256": "e6d2e59b7b5bbb0342e0fb496dfc262decbfe4426bbb7b047aec8d467d1dc6f7", + "kind": "file" + }, + { + "path": "public/file.svg", + "bytes": 392, + "sha256": "1e0ae4d1a1ddfa36752988647b731e4abf150c414d069ec83c96fb0aaeff0307", + "kind": "file" + }, + { + "path": "public/globe.svg", + "bytes": 1036, + "sha256": "d051a8c47936990a9085693d307bb7cea1bc1b6d7ed956bcbaacf674f4ec96b9", + "kind": "file" + }, + { + "path": "public/media/fetch-strategy-boundary.svg", + "bytes": 3315, + "sha256": "b07926823ed77fc200f962a1f64a440e130cefa6bed31144b611612af9b02606", + "kind": "file" + }, + { + "path": "public/window.svg", + "bytes": 386, + "sha256": "decf1cf7bb22b5c99c4857cfcd5718ce5465c4454166317589c83fc73df74b66", + "kind": "file" + }, + { + "path": "README.md", + "bytes": 3053, + "sha256": "78fd82e2a0b6b37afe524f49ece0a0c5085d10379f725da9ff8f3e85e22be3b1", + "kind": "file" + }, + { + "path": "scripts/build-verified.sh", + "bytes": 1015, + "sha256": "72061e762de34bd825905a251f0b0c6dd2ef2c63f3c6ef5cd7152231f70f1d63", + "kind": "file" + }, + { + "path": "scripts/check-studio-types.sh", + "bytes": 513, + "sha256": "2d94eafcc2a13587810a53413a8747fddc6e38db89c1030ec35851622f76a69e", + "kind": "file" + }, + { + "path": "scripts/install-ci.sh", + "bytes": 6326, + "sha256": "f63e840679ca885f206d17b7f8285199bb6bcd47ebc360008d04d16b8e54f63c", + "kind": "file" + }, + { + "path": "scripts/sites-env.sh", + "bytes": 1530, + "sha256": "df86ebfc27d2f00860036658e933ac0ddd7b5f6879aa5d51218f0863c7e1fb60", + "kind": "file" + }, + { + "path": "scripts/validate-artifact.sh", + "bytes": 1220, + "sha256": "826354a781d909a664342b6a6f1a3155529e21f757dc163befa937420c713c2b", + "kind": "file" + }, + { + "path": "tests/axe.test.mjs", + "bytes": 2187, + "sha256": "14d0296dcbc01f99af5e66d972d4d2f50da2f0631b4e7a9fbe1a6090be7e8b79", + "kind": "file" + }, + { + "path": "tests/content-format.test.ts", + "bytes": 9953, + "sha256": "29e59324c273b26f180cfac911b0569a7d3efc461e0b9305e37a76f27363b5e8", + "kind": "file" + }, + { + "path": "tests/dom-setup.mjs", + "bytes": 2390, + "sha256": "2f2492fa8e8e169a69467adba5eb81d8149a009a7c99dcf58bddf7f5470b85e2", + "kind": "file" + }, + { + "path": "tests/focus-state.test.mjs", + "bytes": 1504, + "sha256": "da8453a161e5e5cf37bd112c452c1a8b9763f5359db641370b40bde5067ba983", + "kind": "file" + }, + { + "path": "tests/interaction.test.tsx", + "bytes": 11687, + "sha256": "d8a92fd636c838bc763a5d88231eebe68f736354cd91f0c46ff5c2a050576cc6", + "kind": "file" + }, + { + "path": "tests/mock-studio-gateway.test.ts", + "bytes": 14275, + "sha256": "3a76a78cf5b178c2adfc8eb055901bbfec1416143b71751e1f5df8b8e427d309", + "kind": "file" + }, + { + "path": "tests/public-query.test.tsx", + "bytes": 11564, + "sha256": "6576fc6db7abc25ea46013eef384548ce88066f8034e35be61c13dc50875481f", + "kind": "file" + }, + { + "path": "tests/public-render.test.tsx", + "bytes": 5504, + "sha256": "e6a1ab2a94611909df2632e7a7db65d0e80ed6e73f03efa08b89d0070f72baad", + "kind": "file" + }, + { + "path": "tests/rendered-html.test.mjs", + "bytes": 28115, + "sha256": "9f75c10c30c2a1a1a92b0edc57c8859edff76c5a28cd6b6b3abda42df14f1bcd", + "kind": "file" + }, + { + "path": "tests/studio-contract-shapes.test.tsx", + "bytes": 1841, + "sha256": "3d8b02d553f3ecac8700cc61bad6eb320f831f3a8e0de9bfebad5c46ac669461", + "kind": "file" + }, + { + "path": "tests/studio-contract.test.mjs", + "bytes": 1479, + "sha256": "d80a9bc43cb16b09cc602c5e8ec67e51d1d231bc5c72860d46c3fedcd5faa41e", + "kind": "file" + }, + { + "path": "tests/studio-document-state.test.ts", + "bytes": 7848, + "sha256": "a4b508c82df5a279394247feefc3ec31d700ae87af5b8f9afd191fbc3bc9698f", + "kind": "file" + }, + { + "path": "tests/studio-editor-smoke.test.tsx", + "bytes": 5005, + "sha256": "d6def4fecf353f6b30f046d817f5a760b265eb215e39de409f9f83bb80d4d47c", + "kind": "file" + }, + { + "path": "tests/studio-local-id.test.ts", + "bytes": 508, + "sha256": "be99867718edec63074decc97c6f9ec4d3004674813db11b4f1860bf8da5a214", + "kind": "file" + }, + { + "path": "tests/studio-publication-flow.test.tsx", + "bytes": 4889, + "sha256": "c64e6cd3d3bb6ee06c727b05ee4d2de1b868c1722433e6793de182db4cb92255", + "kind": "file" + }, + { + "path": "tests/studio-screens-smoke.test.tsx", + "bytes": 2940, + "sha256": "95cce925f39406584f91deaa50c0c97984515ad136ff0b8fa6accae970eebbc0", + "kind": "file" + }, + { + "path": "tests/studio-shell-smoke.test.tsx", + "bytes": 3929, + "sha256": "fe5dd6cc80caaaddb00006ca7a10dca17a7abfad20356df24cac55a6e114c257", + "kind": "file" + }, + { + "path": "tests/studio-validation-preview.test.tsx", + "bytes": 5129, + "sha256": "f3d914963d6962ff4639c48f10744c1d3c2f4f94b828e094243733dc3ed85002", + "kind": "file" + }, + { + "path": "tests/style-contract.test.mjs", + "bytes": 5428, + "sha256": "32010000d34b008466180403304bb49c35d2de2fc78772a0c484ce0910b2cef5", + "kind": "file" + }, + { + "path": "tsconfig.json", + "bytes": 666, + "sha256": "be18523b23b78b6e1a876ddd107d330f0168bddf09d751b57e0b5edce69c66f3", + "kind": "file" + }, + { + "path": "vite.config.ts", + "bytes": 1807, + "sha256": "43e5f02f727ca043f08ebf34789f330580a7a0cb90f426c92f4a454d066988fc", + "kind": "file" + }, + { + "path": "worker/index.ts", + "bytes": 1759, + "sha256": "32e543e3f2d8747be216d941841fd9270291ec028f3af169329113c3e34c2848", + "kind": "file" + } + ] + }, + "target": { + "baseUrl": "http://127.0.0.1:4174", + "commit": "3a7c5deca06679fb9b8710da2cce87bbca07ce8a", + "buildManifestSha256": "3579650faa482f566553c00d8b4a05a05b4f7a1ab93b83e48676289bbcf02984", + "viteManifestSha256": "cfd583ed7b6c27dce7f47389447608636b6b9df3e28df00c6416674da2c7c46d" + }, + "conditions": { + "colorScheme": "light", + "deviceScaleFactor": 1, + "locale": "ko-KR", + "reducedMotion": "reduce", + "serviceWorkers": "block", + "timezoneId": "Asia/Seoul", + "fixedTime": "2026-08-14T01:00:00.000Z", + "viewportHeight": 1000, + "screenshots": "fullPage", + "masks": 0, + "freshSourceAndTargetContextsPerCase": true + }, + "caseInventory": [ + { + "name": "TECH_LOG_HOME-360", + "path": "/", + "width": 360 + }, + { + "name": "TECH_LOG_HOME-1440", + "path": "/", + "width": 1440 + }, + { + "name": "TECH_LOG_EXPLORE-360", + "path": "/explore", + "width": 360 + }, + { + "name": "TECH_LOG_EXPLORE-1440", + "path": "/explore", + "width": 1440 + }, + { + "name": "TECH_LOG_EXPLORE_KIND-360", + "path": "/explore/cases", + "width": 360 + }, + { + "name": "TECH_LOG_EXPLORE_KIND-1440", + "path": "/explore/cases", + "width": 1440 + }, + { + "name": "TECH_LOG_CASE-360", + "path": "/cases/collection-fetch-join-pagination", + "width": 360 + }, + { + "name": "TECH_LOG_CASE-1440", + "path": "/cases/collection-fetch-join-pagination", + "width": 1440 + }, + { + "name": "TECH_LOG_REFERENCE-360", + "path": "/references/state-and-nonce-boundary", + "width": 360 + }, + { + "name": "TECH_LOG_REFERENCE-1440", + "path": "/references/state-and-nonce-boundary", + "width": 1440 + }, + { + "name": "TECH_LOG_QUESTION-360", + "path": "/questions/validate-edge-token-again", + "width": 360 + }, + { + "name": "TECH_LOG_QUESTION-1440", + "path": "/questions/validate-edge-token-again", + "width": 1440 + }, + { + "name": "TECH_LOG_TOPIC-360", + "path": "/topics/jpa", + "width": 360 + }, + { + "name": "TECH_LOG_TOPIC-1440", + "path": "/topics/jpa", + "width": 1440 + }, + { + "name": "TECH_LOG_PROJECTS-360", + "path": "/projects", + "width": 360 + }, + { + "name": "TECH_LOG_PROJECTS-1440", + "path": "/projects", + "width": 1440 + }, + { + "name": "TECH_LOG_PROJECT-360", + "path": "/projects/backend-skeleton", + "width": 360 + }, + { + "name": "TECH_LOG_PROJECT-1440", + "path": "/projects/backend-skeleton", + "width": 1440 + }, + { + "name": "TECH_LOG_PROJECT_RECORDS-360", + "path": "/projects/backend-skeleton/records", + "width": 360 + }, + { + "name": "TECH_LOG_PROJECT_RECORDS-1440", + "path": "/projects/backend-skeleton/records", + "width": 1440 + }, + { + "name": "TECH_LOG_PROJECT_DECISIONS-360", + "path": "/projects/backend-skeleton/decisions", + "width": 360 + }, + { + "name": "TECH_LOG_PROJECT_DECISIONS-1440", + "path": "/projects/backend-skeleton/decisions", + "width": 1440 + }, + { + "name": "TECH_LOG_PROJECT_ACTIVITY-360", + "path": "/projects/backend-skeleton/activity", + "width": 360 + }, + { + "name": "TECH_LOG_PROJECT_ACTIVITY-1440", + "path": "/projects/backend-skeleton/activity", + "width": 1440 + }, + { + "name": "TECH_LOG_RELEASES-360", + "path": "/releases", + "width": 360 + }, + { + "name": "TECH_LOG_RELEASES-1440", + "path": "/releases", + "width": 1440 + }, + { + "name": "TECH_LOG_RELEASE-360", + "path": "/releases/0.1.0", + "width": 360 + }, + { + "name": "TECH_LOG_RELEASE-1440", + "path": "/releases/0.1.0", + "width": 1440 + }, + { + "name": "TECH_LOG_PROFILE-360", + "path": "/profile", + "width": 360 + }, + { + "name": "TECH_LOG_PROFILE-1440", + "path": "/profile", + "width": 1440 + }, + { + "name": "TECH_LOG_SEARCH-360", + "path": "/search?q=JPA", + "width": 360 + }, + { + "name": "TECH_LOG_SEARCH-1440", + "path": "/search?q=JPA", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_HOME-360", + "path": "/studio", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_HOME-1440", + "path": "/studio", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENTS-360", + "path": "/studio/documents", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENTS-1440", + "path": "/studio/documents", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_NEW-360", + "path": "/studio/documents/new", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_NEW-1440", + "path": "/studio/documents/new", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_EDIT-360", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_EDIT-1440", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_VALIDATION-360", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/validation", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_VALIDATION-1440", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/validation", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_PREVIEW-360", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/preview", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_PREVIEW-1440", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/preview", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_PUBLISH-360", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/publish", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_PUBLISH-1440", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/publish", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_PUBLICATIONS-360", + "path": "/studio/publications", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_PUBLICATIONS-1440", + "path": "/studio/publications", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_PUBLICATION_PREVIEW-360", + "path": "/studio/publications/66666666-6666-4666-8666-666666666661/preview", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_PUBLICATION_PREVIEW-1440", + "path": "/studio/publications/66666666-6666-4666-8666-666666666661/preview", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_NOT_FOUND-360", + "path": "/studio/unknown-screen", + "width": 360 + }, + { + "name": "TECH_LOG_STUDIO_NOT_FOUND-1440", + "path": "/studio/unknown-screen", + "width": 1440 + }, + { + "name": "NOT_FOUND-360", + "path": "/unknown-public-screen", + "width": 360 + }, + { + "name": "NOT_FOUND-1440", + "path": "/unknown-public-screen", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-CASES-COLLECTION-FETCH-JOIN-PAGINATION", + "path": "/cases/collection-fetch-join-pagination", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-CASES-REDIS-ADAPTER-TTL-BOUNDARY", + "path": "/cases/redis-adapter-ttl-boundary", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-REFERENCES-STATE-AND-NONCE-BOUNDARY", + "path": "/references/state-and-nonce-boundary", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-REFERENCES-JPA-LIST-FETCH-STRATEGY", + "path": "/references/jpa-list-fetch-strategy", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-QUESTIONS-VALIDATE-EDGE-TOKEN-AGAIN", + "path": "/questions/validate-edge-token-again", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-QUESTIONS-COLLECTION-FETCH-JOIN-WITH-PAGINATION", + "path": "/questions/collection-fetch-join-with-pagination", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-TOPICS-JPA", + "path": "/topics/jpa", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-TOPICS-REDIS", + "path": "/topics/redis", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-TOPICS-AUTHENTICATION", + "path": "/topics/authentication", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-BACKEND-SKELETON", + "path": "/projects/backend-skeleton", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-BACKEND-SKELETON-RECORDS", + "path": "/projects/backend-skeleton/records", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-BACKEND-SKELETON-DECISIONS", + "path": "/projects/backend-skeleton/decisions", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-BACKEND-SKELETON-ACTIVITY", + "path": "/projects/backend-skeleton/activity", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-AUTH-LAB", + "path": "/projects/auth-lab", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-AUTH-LAB-RECORDS", + "path": "/projects/auth-lab/records", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-AUTH-LAB-DECISIONS", + "path": "/projects/auth-lab/decisions", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-AUTH-LAB-ACTIVITY", + "path": "/projects/auth-lab/activity", + "width": 1440 + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-RELEASES-0.1.0", + "path": "/releases/0.1.0", + "width": 1440 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-1180", + "path": "/", + "width": 1180 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-1179", + "path": "/", + "width": 1179 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-1050", + "path": "/", + "width": 1050 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-1024", + "path": "/", + "width": 1024 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-980", + "path": "/", + "width": 980 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-900", + "path": "/", + "width": 900 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-820", + "path": "/", + "width": 820 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-768", + "path": "/", + "width": 768 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-767", + "path": "/", + "width": 767 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-420", + "path": "/", + "width": 420 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-390", + "path": "/", + "width": 390 + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-375", + "path": "/", + "width": 375 + }, + { + "name": "TECH_LOG_STUDIO_STATE-dashboard", + "path": "/studio", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-document-list", + "path": "/studio/documents", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-new-document", + "path": "/studio/documents/new", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-case-editor", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-reference-editor", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/edit", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-question-editor", + "path": "/studio/documents/11111111-1111-4111-8111-111111111114/edit", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-conflict-editor", + "path": "/studio/documents/11111111-1111-4111-8111-111111111115/edit", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-valid-validation", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/validation", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-invalid-validation", + "path": "/studio/documents/11111111-1111-4111-8111-111111111114/validation", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-current-preview", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/preview", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-missing-preview", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/preview", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-expired-preview", + "path": "/studio/documents/11111111-1111-4111-8111-111111111117/preview", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-publish-ready", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/publish", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-publish-blocked", + "path": "/studio/documents/11111111-1111-4111-8111-111111111114/publish", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-publications", + "path": "/studio/publications", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-publication-snapshot", + "path": "/studio/publications/66666666-6666-4666-8666-666666666661/preview", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-missing-document", + "path": "/studio/documents/99999999-9999-4999-8999-999999999999/edit", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-missing-publication", + "path": "/studio/publications/99999999-9999-4999-8999-999999999999/preview", + "width": 1440 + }, + { + "name": "TECH_LOG_STUDIO_STATE-unknown-studio-route", + "path": "/studio/unknown-screen", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_EXPLORE_KIND-360", + "path": "/explore/unknown-kind", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_EXPLORE_KIND-1440", + "path": "/explore/unknown-kind", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_CASE-360", + "path": "/cases/not-registered", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_CASE-1440", + "path": "/cases/not-registered", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_REFERENCE-360", + "path": "/references/not-registered", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_REFERENCE-1440", + "path": "/references/not-registered", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_QUESTION-360", + "path": "/questions/not-registered", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_QUESTION-1440", + "path": "/questions/not-registered", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_TOPIC-360", + "path": "/topics/not-registered", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_TOPIC-1440", + "path": "/topics/not-registered", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT-360", + "path": "/projects/missing-project", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT-1440", + "path": "/projects/missing-project", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_RECORDS-360", + "path": "/projects/missing-project/records", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_RECORDS-1440", + "path": "/projects/missing-project/records", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_DECISIONS-360", + "path": "/projects/missing-project/decisions", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_DECISIONS-1440", + "path": "/projects/missing-project/decisions", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_ACTIVITY-360", + "path": "/projects/missing-project/activity", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_ACTIVITY-1440", + "path": "/projects/missing-project/activity", + "width": 1440 + }, + { + "name": "TECH_LOG_UNKNOWN_RELEASE-360", + "path": "/releases/9.9.9", + "width": 360 + }, + { + "name": "TECH_LOG_UNKNOWN_RELEASE-1440", + "path": "/releases/9.9.9", + "width": 1440 + }, + { + "name": "TECH_LOG_SEARCH_DIALOG", + "path": "/", + "width": 390, + "action": "search-dialog" + }, + { + "name": "TECH_LOG_STUDIO_MOBILE_MENU", + "path": "/studio", + "width": 390, + "action": "studio-menu" + }, + { + "name": "TECH_LOG_STUDIO_IMMEDIATE_PREVIEW", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 1440, + "action": "immediate-preview" + }, + { + "name": "TECH_LOG_STUDIO_DIRTY_DIALOG", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 1440, + "action": "dirty-dialog" + }, + { + "name": "TECH_LOG_STUDIO_CURRENT_PREVIEW_CREATED", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/preview", + "width": 1440, + "action": "create-preview" + }, + { + "name": "TECH_LOG_STUDIO_UNPUBLISH_DIALOG", + "path": "/studio/publications", + "width": 1440, + "action": "unpublish-dialog" + }, + { + "name": "TECH_LOG_STUDIO_WARNING_ACKNOWLEDGED", + "path": "/studio/documents/11111111-1111-4111-8111-111111111116/validation", + "width": 1440, + "action": "warning-acknowledged" + } + ], + "caseInventorySha256": "5689bcdb5d5637205cdeb92b7c57f72d99f0b039818b8f90afdde526bbafe0ac", + "total": 130, + "passed": 130, + "failed": 0, + "totalDifferentPixels": 0, + "results": [ + { + "name": "TECH_LOG_HOME-360", + "path": "/", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 3236 + ], + "targetSize": [ + 360, + 3236 + ] + }, + "screenshotSha256": { + "source": "c2d6fb4867a26ef8a8afa6d66d69eba38d83ee564e6dff72ffddb9df22d276d3", + "target": "c2d6fb4867a26ef8a8afa6d66d69eba38d83ee564e6dff72ffddb9df22d276d3" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-1440", + "path": "/", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2654 + ], + "targetSize": [ + 1440, + 2654 + ] + }, + "screenshotSha256": { + "source": "547e91526aa6302e80bad6a32c1797e69ffe5006fb1d7ee6522b1bd73ec9ac0f", + "target": "547e91526aa6302e80bad6a32c1797e69ffe5006fb1d7ee6522b1bd73ec9ac0f" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_EXPLORE-360", + "path": "/explore", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 2346 + ], + "targetSize": [ + 360, + 2346 + ] + }, + "screenshotSha256": { + "source": "95abefc5f830eab3a1c919f5960a51d5baf22c51444c79b102652326c1ee17af", + "target": "95abefc5f830eab3a1c919f5960a51d5baf22c51444c79b102652326c1ee17af" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b84c1f747e80cc5d2269dc4e1dcf71d75b3dee951aec40a97d6123474c3c8a0a", + "target": "b84c1f747e80cc5d2269dc4e1dcf71d75b3dee951aec40a97d6123474c3c8a0a" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 20212, + "bodySha256": "32ce531173629cbb305963359ae4fca88a23e1321c5a67e40ece45406e4ee2de" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_EXPLORE-1440", + "path": "/explore", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1764 + ], + "targetSize": [ + 1440, + 1764 + ] + }, + "screenshotSha256": { + "source": "c146c655cbaad6da9606f480fa5a34b7ffc5e27f7711748c8e3c458e0e577040", + "target": "c146c655cbaad6da9606f480fa5a34b7ffc5e27f7711748c8e3c458e0e577040" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b84c1f747e80cc5d2269dc4e1dcf71d75b3dee951aec40a97d6123474c3c8a0a", + "target": "b84c1f747e80cc5d2269dc4e1dcf71d75b3dee951aec40a97d6123474c3c8a0a" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 20212, + "bodySha256": "32ce531173629cbb305963359ae4fca88a23e1321c5a67e40ece45406e4ee2de" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_EXPLORE_KIND-360", + "path": "/explore/cases", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1479 + ], + "targetSize": [ + 360, + 1479 + ] + }, + "screenshotSha256": { + "source": "ae43e6f668c303e956d675e00a987a680aba5752e26b106e7c65972460214b22", + "target": "ae43e6f668c303e956d675e00a987a680aba5752e26b106e7c65972460214b22" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e1b4cbc2983ea00b5b89b9f0640738dd8a58a973888637ed2ae822bf6371ed76", + "target": "e1b4cbc2983ea00b5b89b9f0640738dd8a58a973888637ed2ae822bf6371ed76" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 14855, + "bodySha256": "e3165536d01cd0d4b43fc100fe27cbe1b1d1380e6e25ba466aab6500d104aa1a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_EXPLORE_KIND-1440", + "path": "/explore/cases", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1266 + ], + "targetSize": [ + 1440, + 1266 + ] + }, + "screenshotSha256": { + "source": "bb1cb19a72c8f0c4e5aeb50abd6e83e40015b3388cea8ab3204e7e6359925ef5", + "target": "bb1cb19a72c8f0c4e5aeb50abd6e83e40015b3388cea8ab3204e7e6359925ef5" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e1b4cbc2983ea00b5b89b9f0640738dd8a58a973888637ed2ae822bf6371ed76", + "target": "e1b4cbc2983ea00b5b89b9f0640738dd8a58a973888637ed2ae822bf6371ed76" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 14855, + "bodySha256": "e3165536d01cd0d4b43fc100fe27cbe1b1d1380e6e25ba466aab6500d104aa1a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_CASE-360", + "path": "/cases/collection-fetch-join-pagination", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 7670 + ], + "targetSize": [ + 360, + 7670 + ] + }, + "screenshotSha256": { + "source": "6989df7e5ec262437e62d839b5e8f121010a91bab65099e66860753261ff38c2", + "target": "6989df7e5ec262437e62d839b5e8f121010a91bab65099e66860753261ff38c2" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "feb7b1c06c8b1b03f165c39515a62c46eaa5480c8ead84331c6cd8579b18f7c9", + "target": "feb7b1c06c8b1b03f165c39515a62c46eaa5480c8ead84331c6cd8579b18f7c9" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 49068, + "bodySha256": "3f2f1fbc45145af529456704cc88fb94e056eb45ab860943044531f2ec73a3a9" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_CASE-1440", + "path": "/cases/collection-fetch-join-pagination", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 6506 + ], + "targetSize": [ + 1440, + 6506 + ] + }, + "screenshotSha256": { + "source": "6fc42268c1520ebe846433ada79d53783eeb9aef6031aa6a5535ca26821e4fa4", + "target": "6fc42268c1520ebe846433ada79d53783eeb9aef6031aa6a5535ca26821e4fa4" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "feb7b1c06c8b1b03f165c39515a62c46eaa5480c8ead84331c6cd8579b18f7c9", + "target": "feb7b1c06c8b1b03f165c39515a62c46eaa5480c8ead84331c6cd8579b18f7c9" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 49068, + "bodySha256": "3f2f1fbc45145af529456704cc88fb94e056eb45ab860943044531f2ec73a3a9" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_REFERENCE-360", + "path": "/references/state-and-nonce-boundary", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 3330 + ], + "targetSize": [ + 360, + 3330 + ] + }, + "screenshotSha256": { + "source": "55a5ce06e9953656cf3f55ab90c0bdf4de3d71d4766baeff79e6dd708f32e8f3", + "target": "55a5ce06e9953656cf3f55ab90c0bdf4de3d71d4766baeff79e6dd708f32e8f3" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "2f175ed92d023899c2bb1ae1baeaf2ccc1898eba76230d67de060d3cafa528f6", + "target": "2f175ed92d023899c2bb1ae1baeaf2ccc1898eba76230d67de060d3cafa528f6" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 19763, + "bodySha256": "9a088abe7fec317272a12a9c409fc9ac400c6f6c9fee383e3dbc59b49d80c5dd" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_REFERENCE-1440", + "path": "/references/state-and-nonce-boundary", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2987 + ], + "targetSize": [ + 1440, + 2987 + ] + }, + "screenshotSha256": { + "source": "64609554fe155186d164a2d7f7b641917801efcd88601643d52afe1ebbe42e0a", + "target": "64609554fe155186d164a2d7f7b641917801efcd88601643d52afe1ebbe42e0a" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "2f175ed92d023899c2bb1ae1baeaf2ccc1898eba76230d67de060d3cafa528f6", + "target": "2f175ed92d023899c2bb1ae1baeaf2ccc1898eba76230d67de060d3cafa528f6" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 19763, + "bodySha256": "9a088abe7fec317272a12a9c409fc9ac400c6f6c9fee383e3dbc59b49d80c5dd" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_QUESTION-360", + "path": "/questions/validate-edge-token-again", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 3278 + ], + "targetSize": [ + 360, + 3278 + ] + }, + "screenshotSha256": { + "source": "6d69c78b1a09eb34236513459bf488c7f87d4d4a3bb2ccdd9de988d655f675bd", + "target": "6d69c78b1a09eb34236513459bf488c7f87d4d4a3bb2ccdd9de988d655f675bd" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "2e012f9e1886324fa4f4f0105ba28038db63363b4dc4af399fc673f604e296dc", + "target": "2e012f9e1886324fa4f4f0105ba28038db63363b4dc4af399fc673f604e296dc" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 19291, + "bodySha256": "4a5076ff352690d238bd8814b06196dfecd45dee95a65694cc58876a668160c2" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_QUESTION-1440", + "path": "/questions/validate-edge-token-again", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 3033 + ], + "targetSize": [ + 1440, + 3033 + ] + }, + "screenshotSha256": { + "source": "544a74df61aca00676830619ed94a7fd4c7ba4c8ff3109f6a316e98449e1ac81", + "target": "544a74df61aca00676830619ed94a7fd4c7ba4c8ff3109f6a316e98449e1ac81" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "2e012f9e1886324fa4f4f0105ba28038db63363b4dc4af399fc673f604e296dc", + "target": "2e012f9e1886324fa4f4f0105ba28038db63363b4dc4af399fc673f604e296dc" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 19291, + "bodySha256": "4a5076ff352690d238bd8814b06196dfecd45dee95a65694cc58876a668160c2" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_TOPIC-360", + "path": "/topics/jpa", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1318 + ], + "targetSize": [ + 360, + 1318 + ] + }, + "screenshotSha256": { + "source": "182a7c14871cf25c7c64ce3812716c5b54e60b72d68f4373e345f765f92e921f", + "target": "182a7c14871cf25c7c64ce3812716c5b54e60b72d68f4373e345f765f92e921f" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "6b3a1a9db3144eeabef9e895a6cdfae220be4f55e4b1967afb78cf66cfb3fb7d", + "target": "6b3a1a9db3144eeabef9e895a6cdfae220be4f55e4b1967afb78cf66cfb3fb7d" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 14275, + "bodySha256": "1b5022681b699a179bd26676117809763949060e424c946a151bd6db28c825cb" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_TOPIC-1440", + "path": "/topics/jpa", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1162 + ], + "targetSize": [ + 1440, + 1162 + ] + }, + "screenshotSha256": { + "source": "e68bbb2bfc9a9e6d0efbd24d0068391cae10a901e2f6444c70caea85825d2b6b", + "target": "e68bbb2bfc9a9e6d0efbd24d0068391cae10a901e2f6444c70caea85825d2b6b" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "6b3a1a9db3144eeabef9e895a6cdfae220be4f55e4b1967afb78cf66cfb3fb7d", + "target": "6b3a1a9db3144eeabef9e895a6cdfae220be4f55e4b1967afb78cf66cfb3fb7d" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 14275, + "bodySha256": "1b5022681b699a179bd26676117809763949060e424c946a151bd6db28c825cb" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECTS-360", + "path": "/projects", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1204 + ], + "targetSize": [ + 360, + 1204 + ] + }, + "screenshotSha256": { + "source": "e6784f040026398c02882e482822fd044a420408041f8baed878670df412b1c8", + "target": "e6784f040026398c02882e482822fd044a420408041f8baed878670df412b1c8" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "0b1d8973e611ac5f060fb0da916c794805a99acc039661775888bf2e3c1a11ee", + "target": "0b1d8973e611ac5f060fb0da916c794805a99acc039661775888bf2e3c1a11ee" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 13590, + "bodySha256": "abc62a1ee6973155cf1d4c4ee2300c5b98a6578a3d9f80c47a4cb4b7fa0ce48b" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECTS-1440", + "path": "/projects", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1101 + ], + "targetSize": [ + 1440, + 1101 + ] + }, + "screenshotSha256": { + "source": "4858b9f23d8393d26cba85b84f40426c515c07d239d9e273bcc53eeea5c8361f", + "target": "4858b9f23d8393d26cba85b84f40426c515c07d239d9e273bcc53eeea5c8361f" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "0b1d8973e611ac5f060fb0da916c794805a99acc039661775888bf2e3c1a11ee", + "target": "0b1d8973e611ac5f060fb0da916c794805a99acc039661775888bf2e3c1a11ee" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 13590, + "bodySha256": "abc62a1ee6973155cf1d4c4ee2300c5b98a6578a3d9f80c47a4cb4b7fa0ce48b" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECT-360", + "path": "/projects/backend-skeleton", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1924 + ], + "targetSize": [ + 360, + 1924 + ] + }, + "screenshotSha256": { + "source": "8b477fcb4ce70454e730fd8ebd9cebc7b15d0d888e082bbd36053760ac26ffee", + "target": "8b477fcb4ce70454e730fd8ebd9cebc7b15d0d888e082bbd36053760ac26ffee" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "eeb1dc252b519a87d0f4b7b29c8545601f14acff7fd766a974cb27254e659070", + "target": "eeb1dc252b519a87d0f4b7b29c8545601f14acff7fd766a974cb27254e659070" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15759, + "bodySha256": "f584b2aa785ca53837f77f45614443fcb528190458b99c49dc507bab6bd1d4eb" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECT-1440", + "path": "/projects/backend-skeleton", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1621 + ], + "targetSize": [ + 1440, + 1621 + ] + }, + "screenshotSha256": { + "source": "acc5a3a9479566cc02cbb4c3d7ba0f59f5411cbdda5aad2e51b7b6fb607ec4d3", + "target": "acc5a3a9479566cc02cbb4c3d7ba0f59f5411cbdda5aad2e51b7b6fb607ec4d3" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "eeb1dc252b519a87d0f4b7b29c8545601f14acff7fd766a974cb27254e659070", + "target": "eeb1dc252b519a87d0f4b7b29c8545601f14acff7fd766a974cb27254e659070" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15759, + "bodySha256": "f584b2aa785ca53837f77f45614443fcb528190458b99c49dc507bab6bd1d4eb" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECT_RECORDS-360", + "path": "/projects/backend-skeleton/records", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1706 + ], + "targetSize": [ + 360, + 1706 + ] + }, + "screenshotSha256": { + "source": "69d2fda725d307e09ff581bff9c17d8d90edc007bc8fa7c5f7d7c8db98bad053", + "target": "69d2fda725d307e09ff581bff9c17d8d90edc007bc8fa7c5f7d7c8db98bad053" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "59bf1e42b7a1e0fae78a1cabe1b54fc33ce02706daea4e682696fced066ce08c", + "target": "59bf1e42b7a1e0fae78a1cabe1b54fc33ce02706daea4e682696fced066ce08c" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 17041, + "bodySha256": "21b136a4344e6ef4ad1f70096d529090310400644106ed51a8751d1ea62ae03d" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECT_RECORDS-1440", + "path": "/projects/backend-skeleton/records", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1436 + ], + "targetSize": [ + 1440, + 1436 + ] + }, + "screenshotSha256": { + "source": "6b78eab9654a65da7bbab275b635dfe10300bfd021f28fe0f05da5e3d3f0b5dc", + "target": "6b78eab9654a65da7bbab275b635dfe10300bfd021f28fe0f05da5e3d3f0b5dc" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "59bf1e42b7a1e0fae78a1cabe1b54fc33ce02706daea4e682696fced066ce08c", + "target": "59bf1e42b7a1e0fae78a1cabe1b54fc33ce02706daea4e682696fced066ce08c" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 17041, + "bodySha256": "21b136a4344e6ef4ad1f70096d529090310400644106ed51a8751d1ea62ae03d" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECT_DECISIONS-360", + "path": "/projects/backend-skeleton/decisions", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 2425 + ], + "targetSize": [ + 360, + 2425 + ] + }, + "screenshotSha256": { + "source": "743109f5992d35fd1d956b41f0f3647222a6bcacf3073fd4d67a7108317d7c4f", + "target": "743109f5992d35fd1d956b41f0f3647222a6bcacf3073fd4d67a7108317d7c4f" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d67be1fa9e8fa1dd2bca1e9c82b339b9b3176373c06c03ecccbb00a81fb0e041", + "target": "d67be1fa9e8fa1dd2bca1e9c82b339b9b3176373c06c03ecccbb00a81fb0e041" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 17842, + "bodySha256": "3598a045840baef4c30a3e8d41952c4e7ab84ca731b40c21edc38eb556829c87" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECT_DECISIONS-1440", + "path": "/projects/backend-skeleton/decisions", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1922 + ], + "targetSize": [ + 1440, + 1922 + ] + }, + "screenshotSha256": { + "source": "9d84ed819647fd2159786489b390c87ab1f1a59bce96f67def103e2f7d966ce2", + "target": "9d84ed819647fd2159786489b390c87ab1f1a59bce96f67def103e2f7d966ce2" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d67be1fa9e8fa1dd2bca1e9c82b339b9b3176373c06c03ecccbb00a81fb0e041", + "target": "d67be1fa9e8fa1dd2bca1e9c82b339b9b3176373c06c03ecccbb00a81fb0e041" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 17842, + "bodySha256": "3598a045840baef4c30a3e8d41952c4e7ab84ca731b40c21edc38eb556829c87" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECT_ACTIVITY-360", + "path": "/projects/backend-skeleton/activity", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1523 + ], + "targetSize": [ + 360, + 1523 + ] + }, + "screenshotSha256": { + "source": "ad9f294273c8a79b30484819024ec6d8883258829130b06f95d224a23a230f9b", + "target": "ad9f294273c8a79b30484819024ec6d8883258829130b06f95d224a23a230f9b" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e505b93e8c93346853f65d33b84bdb32c22e82a4ecd58fba0f943e89a5613a99", + "target": "e505b93e8c93346853f65d33b84bdb32c22e82a4ecd58fba0f943e89a5613a99" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15066, + "bodySha256": "a8c5195b23689d2cfccc414f1e37f516e71c01ab304ec7073db2b0eefbe64456" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROJECT_ACTIVITY-1440", + "path": "/projects/backend-skeleton/activity", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1321 + ], + "targetSize": [ + 1440, + 1321 + ] + }, + "screenshotSha256": { + "source": "c349982cc4c16bc7cf7101e751f8e7b4de900f802440af4a5f9ff4fae5c439d2", + "target": "c349982cc4c16bc7cf7101e751f8e7b4de900f802440af4a5f9ff4fae5c439d2" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e505b93e8c93346853f65d33b84bdb32c22e82a4ecd58fba0f943e89a5613a99", + "target": "e505b93e8c93346853f65d33b84bdb32c22e82a4ecd58fba0f943e89a5613a99" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15066, + "bodySha256": "a8c5195b23689d2cfccc414f1e37f516e71c01ab304ec7073db2b0eefbe64456" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_RELEASES-360", + "path": "/releases", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "50bd19c45df9aba0af3ff84e5288d31e65ef8f070de94d74b918f8d2a722fd2f", + "target": "50bd19c45df9aba0af3ff84e5288d31e65ef8f070de94d74b918f8d2a722fd2f" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "8f7cce45de2d75954a2d3d14c56511ba808be8c062d7e2874e0b9990bbca2bf9", + "target": "8f7cce45de2d75954a2d3d14c56511ba808be8c062d7e2874e0b9990bbca2bf9" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 11484, + "bodySha256": "4b43d53d5af2f7ab15b31aae8a6db57e58e7daa58c7e8f56450ff7d68a15f0ac" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_RELEASES-1440", + "path": "/releases", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "e76fd18cd2a36be68a557055e0d4cc57576a9dbef97c5c902eac4432a1ce2c20", + "target": "e76fd18cd2a36be68a557055e0d4cc57576a9dbef97c5c902eac4432a1ce2c20" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "8f7cce45de2d75954a2d3d14c56511ba808be8c062d7e2874e0b9990bbca2bf9", + "target": "8f7cce45de2d75954a2d3d14c56511ba808be8c062d7e2874e0b9990bbca2bf9" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 11484, + "bodySha256": "4b43d53d5af2f7ab15b31aae8a6db57e58e7daa58c7e8f56450ff7d68a15f0ac" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_RELEASE-360", + "path": "/releases/0.1.0", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 2183 + ], + "targetSize": [ + 360, + 2183 + ] + }, + "screenshotSha256": { + "source": "dd8a9433c5c891792d0f7f2171c34712851dceaa3f8cd8485521e6df315e93e8", + "target": "dd8a9433c5c891792d0f7f2171c34712851dceaa3f8cd8485521e6df315e93e8" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "26a040529f84b6e505473a18738fcf61e0ae2c42d1e402935442f374f1027536", + "target": "26a040529f84b6e505473a18738fcf61e0ae2c42d1e402935442f374f1027536" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 17460, + "bodySha256": "373c2ed2d3906c4e7b8a2888b40f4fcc3ac30dbbe653a3c1e7a23a8223db6e39" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_RELEASE-1440", + "path": "/releases/0.1.0", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1994 + ], + "targetSize": [ + 1440, + 1994 + ] + }, + "screenshotSha256": { + "source": "00d719a56174f937a6acd63b961eed6620dfea28034a20bf853c023a57ad5fa6", + "target": "00d719a56174f937a6acd63b961eed6620dfea28034a20bf853c023a57ad5fa6" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "26a040529f84b6e505473a18738fcf61e0ae2c42d1e402935442f374f1027536", + "target": "26a040529f84b6e505473a18738fcf61e0ae2c42d1e402935442f374f1027536" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 17460, + "bodySha256": "373c2ed2d3906c4e7b8a2888b40f4fcc3ac30dbbe653a3c1e7a23a8223db6e39" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROFILE-360", + "path": "/profile", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1919 + ], + "targetSize": [ + 360, + 1919 + ] + }, + "screenshotSha256": { + "source": "8eeab4cb45ae8d767f965d65acaeee4f82328022dc75f148c37985554beaa1cf", + "target": "8eeab4cb45ae8d767f965d65acaeee4f82328022dc75f148c37985554beaa1cf" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c12aefb68e1e1ccb46bc3d351cc4b808acde31c251d12d0f6af4ae3b99cd8d90", + "target": "c12aefb68e1e1ccb46bc3d351cc4b808acde31c251d12d0f6af4ae3b99cd8d90" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15089, + "bodySha256": "d2fe6acdadde882735eb78a151029c407e519955475e74f4a2a661497ab3c6d6" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PROFILE-1440", + "path": "/profile", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1694 + ], + "targetSize": [ + 1440, + 1694 + ] + }, + "screenshotSha256": { + "source": "21e29f375666db96be27b3f5a91c8a80142eeb52f863be28cd71751f39c055d8", + "target": "21e29f375666db96be27b3f5a91c8a80142eeb52f863be28cd71751f39c055d8" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c12aefb68e1e1ccb46bc3d351cc4b808acde31c251d12d0f6af4ae3b99cd8d90", + "target": "c12aefb68e1e1ccb46bc3d351cc4b808acde31c251d12d0f6af4ae3b99cd8d90" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15089, + "bodySha256": "d2fe6acdadde882735eb78a151029c407e519955475e74f4a2a661497ab3c6d6" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_SEARCH-360", + "path": "/search?q=JPA", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1684 + ], + "targetSize": [ + 360, + 1684 + ] + }, + "screenshotSha256": { + "source": "a470d99512f59348c01867a1beb96b108dcb0a2d030fa1c98af25fc80d39cc83", + "target": "a470d99512f59348c01867a1beb96b108dcb0a2d030fa1c98af25fc80d39cc83" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "0dbbec9d9366941cfa61d7d01f2078be8092b3583e7edfbf455ba6937ef1cde8", + "target": "0dbbec9d9366941cfa61d7d01f2078be8092b3583e7edfbf455ba6937ef1cde8" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15307, + "bodySha256": "6de99cc31192961287f36044a2f74d852dfd340f4b3ff2423707b6f43774646b" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_SEARCH-1440", + "path": "/search?q=JPA", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1397 + ], + "targetSize": [ + 1440, + 1397 + ] + }, + "screenshotSha256": { + "source": "5066ec6ba9e1b04331ee7fe2240b6ad981874016b3fefea7c98c508acc0e0366", + "target": "5066ec6ba9e1b04331ee7fe2240b6ad981874016b3fefea7c98c508acc0e0366" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "0dbbec9d9366941cfa61d7d01f2078be8092b3583e7edfbf455ba6937ef1cde8", + "target": "0dbbec9d9366941cfa61d7d01f2078be8092b3583e7edfbf455ba6937ef1cde8" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15307, + "bodySha256": "6de99cc31192961287f36044a2f74d852dfd340f4b3ff2423707b6f43774646b" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_HOME-360", + "path": "/studio", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 3653 + ], + "targetSize": [ + 360, + 3653 + ] + }, + "screenshotSha256": { + "source": "dda64d83cf6a5c980276fc380ce67ad5a9a5e84b61cfe1e646e26d1bf381a363", + "target": "dda64d83cf6a5c980276fc380ce67ad5a9a5e84b61cfe1e646e26d1bf381a363" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "234465386389032478d92dc256da70fd2525ccfffeaa0129256887025abaab16", + "target": "234465386389032478d92dc256da70fd2525ccfffeaa0129256887025abaab16" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10787, + "bodySha256": "ff9128e443debe99fe029d9628a51b619d3421799162c719bfa2417f50a6e612" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_HOME-1440", + "path": "/studio", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2690 + ], + "targetSize": [ + 1440, + 2690 + ] + }, + "screenshotSha256": { + "source": "d530f3e605e80e9a5f1652c6e95f852b7630da586012b06e1369e24917c40c22", + "target": "d530f3e605e80e9a5f1652c6e95f852b7630da586012b06e1369e24917c40c22" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "234465386389032478d92dc256da70fd2525ccfffeaa0129256887025abaab16", + "target": "234465386389032478d92dc256da70fd2525ccfffeaa0129256887025abaab16" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10787, + "bodySha256": "ff9128e443debe99fe029d9628a51b619d3421799162c719bfa2417f50a6e612" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENTS-360", + "path": "/studio/documents", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 2883 + ], + "targetSize": [ + 360, + 2883 + ] + }, + "screenshotSha256": { + "source": "18ca884cef4a96243447fe4cf971abd5e617f9657f8def5c7192517a4210c7eb", + "target": "18ca884cef4a96243447fe4cf971abd5e617f9657f8def5c7192517a4210c7eb" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e5b2d8efab972f3732143a954aefa06f1bded106fd46ce6379e5b5ecbd0cbf65", + "target": "e5b2d8efab972f3732143a954aefa06f1bded106fd46ce6379e5b5ecbd0cbf65" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10326, + "bodySha256": "e7ade42f13b699fe9a7edcb1e4a311e733200103f98ed0927e0846bddb66cd5d" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENTS-1440", + "path": "/studio/documents", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1493 + ], + "targetSize": [ + 1440, + 1493 + ] + }, + "screenshotSha256": { + "source": "9dd6aca5bfdf7514f8dcf59bbc2eb8efaa19829530289403a170295f3377bc5e", + "target": "9dd6aca5bfdf7514f8dcf59bbc2eb8efaa19829530289403a170295f3377bc5e" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e5b2d8efab972f3732143a954aefa06f1bded106fd46ce6379e5b5ecbd0cbf65", + "target": "e5b2d8efab972f3732143a954aefa06f1bded106fd46ce6379e5b5ecbd0cbf65" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10326, + "bodySha256": "e7ade42f13b699fe9a7edcb1e4a311e733200103f98ed0927e0846bddb66cd5d" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_NEW-360", + "path": "/studio/documents/new", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "54294d7ce92935a3a3aa49df7bc92756852be9dbaa1b912cbbc58c4a235a507f", + "target": "54294d7ce92935a3a3aa49df7bc92756852be9dbaa1b912cbbc58c4a235a507f" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "fe2cfa5067ac02800ea6c26bc2ca7dfeec3016c0e12c69a26922be55ca05e053", + "target": "fe2cfa5067ac02800ea6c26bc2ca7dfeec3016c0e12c69a26922be55ca05e053" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10541, + "bodySha256": "4bfbd2e67091ef44840b1bf929e8a3abc195fc16fd61c3bac0067264dda5e8cb" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_NEW-1440", + "path": "/studio/documents/new", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "4c1f6c88d4978d7e78951bc1814429b5c640bf985cad2464c9f3bc36af7763ec", + "target": "4c1f6c88d4978d7e78951bc1814429b5c640bf985cad2464c9f3bc36af7763ec" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "fe2cfa5067ac02800ea6c26bc2ca7dfeec3016c0e12c69a26922be55ca05e053", + "target": "fe2cfa5067ac02800ea6c26bc2ca7dfeec3016c0e12c69a26922be55ca05e053" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10541, + "bodySha256": "4bfbd2e67091ef44840b1bf929e8a3abc195fc16fd61c3bac0067264dda5e8cb" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_EDIT-360", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 3313 + ], + "targetSize": [ + 360, + 3313 + ] + }, + "screenshotSha256": { + "source": "d8cbc7fc6058c92ce3a9823060e28624b1b2114a489ad6b06b0bdc3a8d940c2c", + "target": "d8cbc7fc6058c92ce3a9823060e28624b1b2114a489ad6b06b0bdc3a8d940c2c" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c837778802e04c83c198a7bca658331a0620f18e814caf06ad21d961bcf2695d", + "target": "c837778802e04c83c198a7bca658331a0620f18e814caf06ad21d961bcf2695d" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10176, + "bodySha256": "5e38430b8390c744c7971703dfced07372a7698e2d547b4655e9e7b79f8a9278" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_EDIT-1440", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2706 + ], + "targetSize": [ + 1440, + 2706 + ] + }, + "screenshotSha256": { + "source": "68fbef6b258ffb56d7c273527e7997bfe9870bbf9d4dce245d8005f61c064102", + "target": "68fbef6b258ffb56d7c273527e7997bfe9870bbf9d4dce245d8005f61c064102" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c837778802e04c83c198a7bca658331a0620f18e814caf06ad21d961bcf2695d", + "target": "c837778802e04c83c198a7bca658331a0620f18e814caf06ad21d961bcf2695d" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10176, + "bodySha256": "5e38430b8390c744c7971703dfced07372a7698e2d547b4655e9e7b79f8a9278" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_VALIDATION-360", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/validation", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "d7e7a757f78fe74fb70dc3d16a96d841111ebad9d39cf0fdf630944f57bf37b3", + "target": "d7e7a757f78fe74fb70dc3d16a96d841111ebad9d39cf0fdf630944f57bf37b3" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c195e5fce808ccadb53b74bb386fae50574a5f5136958da5a8170300285e8821", + "target": "c195e5fce808ccadb53b74bb386fae50574a5f5136958da5a8170300285e8821" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10219, + "bodySha256": "bc8f1a82372510361760db17be88b2ecd26feb9df0467a65d8d15fb19f289f17" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_VALIDATION-1440", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/validation", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "6b3b7abcd12787ac4893616129fdf67a4acdb9c21b0d657df293d6d4b60ade63", + "target": "6b3b7abcd12787ac4893616129fdf67a4acdb9c21b0d657df293d6d4b60ade63" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c195e5fce808ccadb53b74bb386fae50574a5f5136958da5a8170300285e8821", + "target": "c195e5fce808ccadb53b74bb386fae50574a5f5136958da5a8170300285e8821" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10219, + "bodySha256": "bc8f1a82372510361760db17be88b2ecd26feb9df0467a65d8d15fb19f289f17" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_PREVIEW-360", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/preview", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1821 + ], + "targetSize": [ + 360, + 1821 + ] + }, + "screenshotSha256": { + "source": "f3f5c350f7302f9541474e922a57b6240bcfafbca4968d016e987b6cbc660638", + "target": "f3f5c350f7302f9541474e922a57b6240bcfafbca4968d016e987b6cbc660638" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "fe4b5e31326c9cd426f392ca88564fb721c8b951506a387384a03548c11bf24f", + "target": "fe4b5e31326c9cd426f392ca88564fb721c8b951506a387384a03548c11bf24f" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10539, + "bodySha256": "e0d29309a3719b8eafc2f33125a430238e194076b29f33ccdfa7c8ab8abe7a49" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_PREVIEW-1440", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/preview", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1904 + ], + "targetSize": [ + 1440, + 1904 + ] + }, + "screenshotSha256": { + "source": "6e58ebd1e5bc5b43bd7db78176368b5d97e04133a2b98a2c0496295aab2c71a7", + "target": "6e58ebd1e5bc5b43bd7db78176368b5d97e04133a2b98a2c0496295aab2c71a7" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "fe4b5e31326c9cd426f392ca88564fb721c8b951506a387384a03548c11bf24f", + "target": "fe4b5e31326c9cd426f392ca88564fb721c8b951506a387384a03548c11bf24f" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10539, + "bodySha256": "e0d29309a3719b8eafc2f33125a430238e194076b29f33ccdfa7c8ab8abe7a49" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_PUBLISH-360", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/publish", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1252 + ], + "targetSize": [ + 360, + 1252 + ] + }, + "screenshotSha256": { + "source": "6124966f4c624fab17a52f5301a29cb57e4708a4a689529a26316d8c2f0ded17", + "target": "6124966f4c624fab17a52f5301a29cb57e4708a4a689529a26316d8c2f0ded17" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b8cfc0ab9c9297a786d0b4163c993dfc21caa9615ff3f8af483a15241fe5220e", + "target": "b8cfc0ab9c9297a786d0b4163c993dfc21caa9615ff3f8af483a15241fe5220e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 11643, + "bodySha256": "76014fad40b11716df6168211db73784e79968a506955c19e7913327503919c6" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DOCUMENT_PUBLISH-1440", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/publish", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1001 + ], + "targetSize": [ + 1440, + 1001 + ] + }, + "screenshotSha256": { + "source": "25a7dbb97ef53765033f255de59c35384627e13894a73d24211f9a1480ee304b", + "target": "25a7dbb97ef53765033f255de59c35384627e13894a73d24211f9a1480ee304b" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b8cfc0ab9c9297a786d0b4163c993dfc21caa9615ff3f8af483a15241fe5220e", + "target": "b8cfc0ab9c9297a786d0b4163c993dfc21caa9615ff3f8af483a15241fe5220e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 11643, + "bodySha256": "76014fad40b11716df6168211db73784e79968a506955c19e7913327503919c6" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_PUBLICATIONS-360", + "path": "/studio/publications", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1776 + ], + "targetSize": [ + 360, + 1776 + ] + }, + "screenshotSha256": { + "source": "03573ed094a6c1aca7d7b53dfd08138134ba490a228d3808f4809f684139de93", + "target": "03573ed094a6c1aca7d7b53dfd08138134ba490a228d3808f4809f684139de93" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d5b2381e4a4f98a0730659cc50d4fbcccb230cb0c86327ed04b742937c388b52", + "target": "d5b2381e4a4f98a0730659cc50d4fbcccb230cb0c86327ed04b742937c388b52" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 12417, + "bodySha256": "0f62df4d07a3db80238ce701947b11d20cdee09cf67e99e8f36ce09d8d8d7753" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_PUBLICATIONS-1440", + "path": "/studio/publications", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1121 + ], + "targetSize": [ + 1440, + 1121 + ] + }, + "screenshotSha256": { + "source": "f71fcd23832d77ce79b6c838bc01479cf9ff5f4b541ffa2fa7c8ea6820103193", + "target": "f71fcd23832d77ce79b6c838bc01479cf9ff5f4b541ffa2fa7c8ea6820103193" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d5b2381e4a4f98a0730659cc50d4fbcccb230cb0c86327ed04b742937c388b52", + "target": "d5b2381e4a4f98a0730659cc50d4fbcccb230cb0c86327ed04b742937c388b52" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 12417, + "bodySha256": "0f62df4d07a3db80238ce701947b11d20cdee09cf67e99e8f36ce09d8d8d7753" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_PUBLICATION_PREVIEW-360", + "path": "/studio/publications/66666666-6666-4666-8666-666666666661/preview", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1869 + ], + "targetSize": [ + 360, + 1869 + ] + }, + "screenshotSha256": { + "source": "b8049e93704f7c20c1970c9b22524422ddc009e53a7682358aee244781c6b697", + "target": "b8049e93704f7c20c1970c9b22524422ddc009e53a7682358aee244781c6b697" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b58a9487fecc35c2c24e9bcd59599837625c5ac826e2066afeebb25d99cfb3cb", + "target": "b58a9487fecc35c2c24e9bcd59599837625c5ac826e2066afeebb25d99cfb3cb" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 12003, + "bodySha256": "9abb6b1d9ebcc73ef861b5ad4fa693f6c08addecdb6610d7d054d911ead32a8d" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_PUBLICATION_PREVIEW-1440", + "path": "/studio/publications/66666666-6666-4666-8666-666666666661/preview", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1687 + ], + "targetSize": [ + 1440, + 1687 + ] + }, + "screenshotSha256": { + "source": "99932c601c4ce248198c623dca66d384edabdc00c7d60701564f68bfcd31cea7", + "target": "99932c601c4ce248198c623dca66d384edabdc00c7d60701564f68bfcd31cea7" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b58a9487fecc35c2c24e9bcd59599837625c5ac826e2066afeebb25d99cfb3cb", + "target": "b58a9487fecc35c2c24e9bcd59599837625c5ac826e2066afeebb25d99cfb3cb" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 12003, + "bodySha256": "9abb6b1d9ebcc73ef861b5ad4fa693f6c08addecdb6610d7d054d911ead32a8d" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_NOT_FOUND-360", + "path": "/studio/unknown-screen", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "ec588a7afc74cf37944311ad38082de06f1c5523e2fe0bd01c595dbdee6d29bb", + "target": "ec588a7afc74cf37944311ad38082de06f1c5523e2fe0bd01c595dbdee6d29bb" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "bd4ecd5544388dc9421de0a3ac36bf0e06d7ab7bf0b520c04443ecc097da0ede", + "target": "bd4ecd5544388dc9421de0a3ac36bf0e06d7ab7bf0b520c04443ecc097da0ede" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 6469, + "bodySha256": "ad777924fde55d394f570abea05837bf8b9fbc190056f36a5ad9f3b6b4730283" + }, + "target": { + "status": 404, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_NOT_FOUND-1440", + "path": "/studio/unknown-screen", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "6fcedcd75187c6aec7bde8d73b391151c53a0bd72e05191efcc1c1aa199b4b39", + "target": "6fcedcd75187c6aec7bde8d73b391151c53a0bd72e05191efcc1c1aa199b4b39" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "bd4ecd5544388dc9421de0a3ac36bf0e06d7ab7bf0b520c04443ecc097da0ede", + "target": "bd4ecd5544388dc9421de0a3ac36bf0e06d7ab7bf0b520c04443ecc097da0ede" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 6469, + "bodySha256": "ad777924fde55d394f570abea05837bf8b9fbc190056f36a5ad9f3b6b4730283" + }, + "target": { + "status": 404, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "NOT_FOUND-360", + "path": "/unknown-public-screen", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "NOT_FOUND-1440", + "path": "/unknown-public-screen", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-CASES-COLLECTION-FETCH-JOIN-PAGINATION", + "path": "/cases/collection-fetch-join-pagination", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 6506 + ], + "targetSize": [ + 1440, + 6506 + ] + }, + "screenshotSha256": { + "source": "6fc42268c1520ebe846433ada79d53783eeb9aef6031aa6a5535ca26821e4fa4", + "target": "6fc42268c1520ebe846433ada79d53783eeb9aef6031aa6a5535ca26821e4fa4" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "feb7b1c06c8b1b03f165c39515a62c46eaa5480c8ead84331c6cd8579b18f7c9", + "target": "feb7b1c06c8b1b03f165c39515a62c46eaa5480c8ead84331c6cd8579b18f7c9" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 49068, + "bodySha256": "3f2f1fbc45145af529456704cc88fb94e056eb45ab860943044531f2ec73a3a9" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-CASES-REDIS-ADAPTER-TTL-BOUNDARY", + "path": "/cases/redis-adapter-ttl-boundary", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2037 + ], + "targetSize": [ + 1440, + 2037 + ] + }, + "screenshotSha256": { + "source": "d1b3b1194bcd14d0fb08fcce8c5a952255ca933000f933e61f2162fc5c2db1eb", + "target": "d1b3b1194bcd14d0fb08fcce8c5a952255ca933000f933e61f2162fc5c2db1eb" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "810b9334f8d79dfc76b5ccc5011a0b8c0add4e046aab89aa5668051d4eb23f2b", + "target": "810b9334f8d79dfc76b5ccc5011a0b8c0add4e046aab89aa5668051d4eb23f2b" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 18317, + "bodySha256": "a86fb19a9c885170a32c113dad475d70489e60655a04d6371e5e7ef6a42324fc" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-REFERENCES-STATE-AND-NONCE-BOUNDARY", + "path": "/references/state-and-nonce-boundary", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2987 + ], + "targetSize": [ + 1440, + 2987 + ] + }, + "screenshotSha256": { + "source": "64609554fe155186d164a2d7f7b641917801efcd88601643d52afe1ebbe42e0a", + "target": "64609554fe155186d164a2d7f7b641917801efcd88601643d52afe1ebbe42e0a" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "2f175ed92d023899c2bb1ae1baeaf2ccc1898eba76230d67de060d3cafa528f6", + "target": "2f175ed92d023899c2bb1ae1baeaf2ccc1898eba76230d67de060d3cafa528f6" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 19763, + "bodySha256": "9a088abe7fec317272a12a9c409fc9ac400c6f6c9fee383e3dbc59b49d80c5dd" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-REFERENCES-JPA-LIST-FETCH-STRATEGY", + "path": "/references/jpa-list-fetch-strategy", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2897 + ], + "targetSize": [ + 1440, + 2897 + ] + }, + "screenshotSha256": { + "source": "a7f60b6865f60b28d264e72be07be6db94ae7d18c36e33e385f67311281ac68d", + "target": "a7f60b6865f60b28d264e72be07be6db94ae7d18c36e33e385f67311281ac68d" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c122af9d21fb7007568662c6e62929a30dd13708e2a9061268846793a7a29286", + "target": "c122af9d21fb7007568662c6e62929a30dd13708e2a9061268846793a7a29286" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 19951, + "bodySha256": "16fcea4928d3989d8837b3e86718c878c9654752ee7f17dcb941030164697779" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-QUESTIONS-VALIDATE-EDGE-TOKEN-AGAIN", + "path": "/questions/validate-edge-token-again", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 3033 + ], + "targetSize": [ + 1440, + 3033 + ] + }, + "screenshotSha256": { + "source": "544a74df61aca00676830619ed94a7fd4c7ba4c8ff3109f6a316e98449e1ac81", + "target": "544a74df61aca00676830619ed94a7fd4c7ba4c8ff3109f6a316e98449e1ac81" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "2e012f9e1886324fa4f4f0105ba28038db63363b4dc4af399fc673f604e296dc", + "target": "2e012f9e1886324fa4f4f0105ba28038db63363b4dc4af399fc673f604e296dc" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 19291, + "bodySha256": "4a5076ff352690d238bd8814b06196dfecd45dee95a65694cc58876a668160c2" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-QUESTIONS-COLLECTION-FETCH-JOIN-WITH-PAGINATION", + "path": "/questions/collection-fetch-join-with-pagination", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 3111 + ], + "targetSize": [ + 1440, + 3111 + ] + }, + "screenshotSha256": { + "source": "7915eb87f76d2fa1e0d923a880f0b2b7145003c9f9292b6186d05390b5f4181b", + "target": "7915eb87f76d2fa1e0d923a880f0b2b7145003c9f9292b6186d05390b5f4181b" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "1af87977ee308825450dd00c3e14aa401166758839b4962c044ced97afff4e4f", + "target": "1af87977ee308825450dd00c3e14aa401166758839b4962c044ced97afff4e4f" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 19584, + "bodySha256": "de4a73e32d000e6ee84d7c3c2dd3506eb13d5a6267257c7e1b4b49799faf3646" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-TOPICS-JPA", + "path": "/topics/jpa", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1162 + ], + "targetSize": [ + 1440, + 1162 + ] + }, + "screenshotSha256": { + "source": "e68bbb2bfc9a9e6d0efbd24d0068391cae10a901e2f6444c70caea85825d2b6b", + "target": "e68bbb2bfc9a9e6d0efbd24d0068391cae10a901e2f6444c70caea85825d2b6b" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "6b3a1a9db3144eeabef9e895a6cdfae220be4f55e4b1967afb78cf66cfb3fb7d", + "target": "6b3a1a9db3144eeabef9e895a6cdfae220be4f55e4b1967afb78cf66cfb3fb7d" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 14275, + "bodySha256": "1b5022681b699a179bd26676117809763949060e424c946a151bd6db28c825cb" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-TOPICS-REDIS", + "path": "/topics/redis", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "35d102d13edd23c34293f264203968ac27ff53e9b3ad6d5bbdb903395e40a870", + "target": "35d102d13edd23c34293f264203968ac27ff53e9b3ad6d5bbdb903395e40a870" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "ce453e7fac4b2568a4076ca55707f23461513382e5c2c54e02ce36a69fc60126", + "target": "ce453e7fac4b2568a4076ca55707f23461513382e5c2c54e02ce36a69fc60126" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 11896, + "bodySha256": "cef64dd52cad49a0036e2a8d80f906eb574e23fb8ee363ccd905c1f4c8c6b655" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-TOPICS-AUTHENTICATION", + "path": "/topics/authentication", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1018 + ], + "targetSize": [ + 1440, + 1018 + ] + }, + "screenshotSha256": { + "source": "a06b3e839952cc55fa7464bfee7ab8739b82dc527f0d8fb9a371b2b84a8860fe", + "target": "a06b3e839952cc55fa7464bfee7ab8739b82dc527f0d8fb9a371b2b84a8860fe" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c02bc0858ab7f732fdb8d6264be4f5af146c7be5dafa7462ae204fda3aa21b78", + "target": "c02bc0858ab7f732fdb8d6264be4f5af146c7be5dafa7462ae204fda3aa21b78" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 13184, + "bodySha256": "c0a45ae3735add7f97e0b24299787cf2ea5ae9ac9ea5ccf88216c9c11bbabac0" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-BACKEND-SKELETON", + "path": "/projects/backend-skeleton", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1621 + ], + "targetSize": [ + 1440, + 1621 + ] + }, + "screenshotSha256": { + "source": "acc5a3a9479566cc02cbb4c3d7ba0f59f5411cbdda5aad2e51b7b6fb607ec4d3", + "target": "acc5a3a9479566cc02cbb4c3d7ba0f59f5411cbdda5aad2e51b7b6fb607ec4d3" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "eeb1dc252b519a87d0f4b7b29c8545601f14acff7fd766a974cb27254e659070", + "target": "eeb1dc252b519a87d0f4b7b29c8545601f14acff7fd766a974cb27254e659070" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15759, + "bodySha256": "f584b2aa785ca53837f77f45614443fcb528190458b99c49dc507bab6bd1d4eb" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-BACKEND-SKELETON-RECORDS", + "path": "/projects/backend-skeleton/records", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1436 + ], + "targetSize": [ + 1440, + 1436 + ] + }, + "screenshotSha256": { + "source": "6b78eab9654a65da7bbab275b635dfe10300bfd021f28fe0f05da5e3d3f0b5dc", + "target": "6b78eab9654a65da7bbab275b635dfe10300bfd021f28fe0f05da5e3d3f0b5dc" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "59bf1e42b7a1e0fae78a1cabe1b54fc33ce02706daea4e682696fced066ce08c", + "target": "59bf1e42b7a1e0fae78a1cabe1b54fc33ce02706daea4e682696fced066ce08c" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 17041, + "bodySha256": "21b136a4344e6ef4ad1f70096d529090310400644106ed51a8751d1ea62ae03d" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-BACKEND-SKELETON-DECISIONS", + "path": "/projects/backend-skeleton/decisions", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1922 + ], + "targetSize": [ + 1440, + 1922 + ] + }, + "screenshotSha256": { + "source": "9d84ed819647fd2159786489b390c87ab1f1a59bce96f67def103e2f7d966ce2", + "target": "9d84ed819647fd2159786489b390c87ab1f1a59bce96f67def103e2f7d966ce2" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d67be1fa9e8fa1dd2bca1e9c82b339b9b3176373c06c03ecccbb00a81fb0e041", + "target": "d67be1fa9e8fa1dd2bca1e9c82b339b9b3176373c06c03ecccbb00a81fb0e041" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 17842, + "bodySha256": "3598a045840baef4c30a3e8d41952c4e7ab84ca731b40c21edc38eb556829c87" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-BACKEND-SKELETON-ACTIVITY", + "path": "/projects/backend-skeleton/activity", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1321 + ], + "targetSize": [ + 1440, + 1321 + ] + }, + "screenshotSha256": { + "source": "c349982cc4c16bc7cf7101e751f8e7b4de900f802440af4a5f9ff4fae5c439d2", + "target": "c349982cc4c16bc7cf7101e751f8e7b4de900f802440af4a5f9ff4fae5c439d2" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e505b93e8c93346853f65d33b84bdb32c22e82a4ecd58fba0f943e89a5613a99", + "target": "e505b93e8c93346853f65d33b84bdb32c22e82a4ecd58fba0f943e89a5613a99" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15066, + "bodySha256": "a8c5195b23689d2cfccc414f1e37f516e71c01ab304ec7073db2b0eefbe64456" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-AUTH-LAB", + "path": "/projects/auth-lab", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1590 + ], + "targetSize": [ + 1440, + 1590 + ] + }, + "screenshotSha256": { + "source": "e86fc0439dbc7c4a172c042a88d337efa4b8f37c3630975b14b25809b64c1976", + "target": "e86fc0439dbc7c4a172c042a88d337efa4b8f37c3630975b14b25809b64c1976" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "bbff48c3c5b2864672e963bc0cc38313252ad6484dea824761bda25ca0e54fe4", + "target": "bbff48c3c5b2864672e963bc0cc38313252ad6484dea824761bda25ca0e54fe4" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 15307, + "bodySha256": "6ed91434918e2d1287dbc3199d57f30a8d01b0127509a1817d4004b7e09f1881" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-AUTH-LAB-RECORDS", + "path": "/projects/auth-lab/records", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1117 + ], + "targetSize": [ + 1440, + 1117 + ] + }, + "screenshotSha256": { + "source": "9b29d223f0a3aaa8c312376f6d5999c0b13484c0453a344b46ab6d8a34aee52e", + "target": "9b29d223f0a3aaa8c312376f6d5999c0b13484c0453a344b46ab6d8a34aee52e" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "fdbfc8131cc600dcf0b8b1cbdf1ebb00e1a553295261a5b2d0d51427c2e57fa8", + "target": "fdbfc8131cc600dcf0b8b1cbdf1ebb00e1a553295261a5b2d0d51427c2e57fa8" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 14252, + "bodySha256": "45dec78ffbe5547f2af3f629afa58d3932883bdb954bdd9325b98864bfd10fa9" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-AUTH-LAB-DECISIONS", + "path": "/projects/auth-lab/decisions", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1233 + ], + "targetSize": [ + 1440, + 1233 + ] + }, + "screenshotSha256": { + "source": "0475775f396041bd08a09a347701bba280dabf1cde05b2cd1d924cb9c0417bb9", + "target": "0475775f396041bd08a09a347701bba280dabf1cde05b2cd1d924cb9c0417bb9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "ad1398be8839c72ca64af96b8538e639e79558aa209284b614b4f6814bfce372", + "target": "ad1398be8839c72ca64af96b8538e639e79558aa209284b614b4f6814bfce372" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 14125, + "bodySha256": "7498f7308547bdd27caad429c025627c66a9dcbb41689c83593cc84fd88eedb6" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-PROJECTS-AUTH-LAB-ACTIVITY", + "path": "/projects/auth-lab/activity", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1119 + ], + "targetSize": [ + 1440, + 1119 + ] + }, + "screenshotSha256": { + "source": "db272eff4d1d4643501dbafc17e5241441d9fd045268b1d04707f5ccff6cd28c", + "target": "db272eff4d1d4643501dbafc17e5241441d9fd045268b1d04707f5ccff6cd28c" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "0895258106672fe40c5cc2c7d02b254255521ca5861cb49178729f16c3d45486", + "target": "0895258106672fe40c5cc2c7d02b254255521ca5861cb49178729f16c3d45486" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 13728, + "bodySha256": "cd61968061a5a5fc8b0fedc92fb98dc674585e271fada026c1b155c29a9beeac" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_PUBLIC_FIXTURE-RELEASES-0.1.0", + "path": "/releases/0.1.0", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1994 + ], + "targetSize": [ + 1440, + 1994 + ] + }, + "screenshotSha256": { + "source": "00d719a56174f937a6acd63b961eed6620dfea28034a20bf853c023a57ad5fa6", + "target": "00d719a56174f937a6acd63b961eed6620dfea28034a20bf853c023a57ad5fa6" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "26a040529f84b6e505473a18738fcf61e0ae2c42d1e402935442f374f1027536", + "target": "26a040529f84b6e505473a18738fcf61e0ae2c42d1e402935442f374f1027536" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 17460, + "bodySha256": "373c2ed2d3906c4e7b8a2888b40f4fcc3ac30dbbe653a3c1e7a23a8223db6e39" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-1180", + "path": "/", + "width": 1180, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1180, + 2646 + ], + "targetSize": [ + 1180, + 2646 + ] + }, + "screenshotSha256": { + "source": "2111eaa999462a1125421bc8f15c8f0ce8cd7c587c5c9951e71c0b832a2756ee", + "target": "2111eaa999462a1125421bc8f15c8f0ce8cd7c587c5c9951e71c0b832a2756ee" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-1179", + "path": "/", + "width": 1179, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1179, + 2823 + ], + "targetSize": [ + 1179, + 2823 + ] + }, + "screenshotSha256": { + "source": "a2bec5ee3e4dab063364c11319cf64fd8510f99d2f8750a7a704488857619c0c", + "target": "a2bec5ee3e4dab063364c11319cf64fd8510f99d2f8750a7a704488857619c0c" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-1050", + "path": "/", + "width": 1050, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1050, + 2810 + ], + "targetSize": [ + 1050, + 2810 + ] + }, + "screenshotSha256": { + "source": "de99c0734a5ef8961eb8577c60b716b1df852ad1f66b4c0ae8220597e0317793", + "target": "de99c0734a5ef8961eb8577c60b716b1df852ad1f66b4c0ae8220597e0317793" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-1024", + "path": "/", + "width": 1024, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1024, + 2808 + ], + "targetSize": [ + 1024, + 2808 + ] + }, + "screenshotSha256": { + "source": "1141aaab3043340c82b0d4c79b9273c71ce66d7ed1e303b18f0acd1e09427d8b", + "target": "1141aaab3043340c82b0d4c79b9273c71ce66d7ed1e303b18f0acd1e09427d8b" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-980", + "path": "/", + "width": 980, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 980, + 2804 + ], + "targetSize": [ + 980, + 2804 + ] + }, + "screenshotSha256": { + "source": "08497f5576277301060b79adf3265d5d82872fde89fefac919bc4a10951b7cea", + "target": "08497f5576277301060b79adf3265d5d82872fde89fefac919bc4a10951b7cea" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-900", + "path": "/", + "width": 900, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 900, + 2833 + ], + "targetSize": [ + 900, + 2833 + ] + }, + "screenshotSha256": { + "source": "04028886fe3cba20909c9423093f9f775153ca41ee7b59570f08971ef28e0018", + "target": "04028886fe3cba20909c9423093f9f775153ca41ee7b59570f08971ef28e0018" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-820", + "path": "/", + "width": 820, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 820, + 2833 + ], + "targetSize": [ + 820, + 2833 + ] + }, + "screenshotSha256": { + "source": "f9e17d79c77ab39e79892be81d4c45bcf8f0307ac3b77e7ab40c0d5cfe4603d3", + "target": "f9e17d79c77ab39e79892be81d4c45bcf8f0307ac3b77e7ab40c0d5cfe4603d3" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-768", + "path": "/", + "width": 768, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 768, + 2833 + ], + "targetSize": [ + 768, + 2833 + ] + }, + "screenshotSha256": { + "source": "fd6b7e3b15ea079d1e313ef5b3a6b327db20a3582c563fa05c47dc26d5889a03", + "target": "fd6b7e3b15ea079d1e313ef5b3a6b327db20a3582c563fa05c47dc26d5889a03" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-767", + "path": "/", + "width": 767, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 767, + 2837 + ], + "targetSize": [ + 767, + 2837 + ] + }, + "screenshotSha256": { + "source": "562be56a16df98ce88a122bfa914f4109db0510ed5cfee73eab5f0c4a33d1fd2", + "target": "562be56a16df98ce88a122bfa914f4109db0510ed5cfee73eab5f0c4a33d1fd2" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-420", + "path": "/", + "width": 420, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 420, + 3109 + ], + "targetSize": [ + 420, + 3109 + ] + }, + "screenshotSha256": { + "source": "c1697e48617aa9961950dfc8a1aa5ef3fa0eabc3a28e219bc6191f18b0512710", + "target": "c1697e48617aa9961950dfc8a1aa5ef3fa0eabc3a28e219bc6191f18b0512710" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-390", + "path": "/", + "width": 390, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 390, + 3186 + ], + "targetSize": [ + 390, + 3186 + ] + }, + "screenshotSha256": { + "source": "d3afd6e3ad6494cdf1518f3fad70f33c97c1761dbbec8d11cce8b0fa390e6e37", + "target": "d3afd6e3ad6494cdf1518f3fad70f33c97c1761dbbec8d11cce8b0fa390e6e37" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_HOME-BREAKPOINT-375", + "path": "/", + "width": 375, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 375, + 3212 + ], + "targetSize": [ + 375, + 3212 + ] + }, + "screenshotSha256": { + "source": "c047f09766c9099a80066d0211c5ed070afad359e17f14a20827b65e2f332510", + "target": "c047f09766c9099a80066d0211c5ed070afad359e17f14a20827b65e2f332510" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e", + "target": "80f08a594ce18c3888df93f35456c137d08bef91ef5a1663df74549b33741d5e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-dashboard", + "path": "/studio", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2690 + ], + "targetSize": [ + 1440, + 2690 + ] + }, + "screenshotSha256": { + "source": "d530f3e605e80e9a5f1652c6e95f852b7630da586012b06e1369e24917c40c22", + "target": "d530f3e605e80e9a5f1652c6e95f852b7630da586012b06e1369e24917c40c22" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "234465386389032478d92dc256da70fd2525ccfffeaa0129256887025abaab16", + "target": "234465386389032478d92dc256da70fd2525ccfffeaa0129256887025abaab16" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10787, + "bodySha256": "ff9128e443debe99fe029d9628a51b619d3421799162c719bfa2417f50a6e612" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-document-list", + "path": "/studio/documents", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1493 + ], + "targetSize": [ + 1440, + 1493 + ] + }, + "screenshotSha256": { + "source": "9dd6aca5bfdf7514f8dcf59bbc2eb8efaa19829530289403a170295f3377bc5e", + "target": "9dd6aca5bfdf7514f8dcf59bbc2eb8efaa19829530289403a170295f3377bc5e" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e5b2d8efab972f3732143a954aefa06f1bded106fd46ce6379e5b5ecbd0cbf65", + "target": "e5b2d8efab972f3732143a954aefa06f1bded106fd46ce6379e5b5ecbd0cbf65" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10326, + "bodySha256": "e7ade42f13b699fe9a7edcb1e4a311e733200103f98ed0927e0846bddb66cd5d" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-new-document", + "path": "/studio/documents/new", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "4c1f6c88d4978d7e78951bc1814429b5c640bf985cad2464c9f3bc36af7763ec", + "target": "4c1f6c88d4978d7e78951bc1814429b5c640bf985cad2464c9f3bc36af7763ec" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "fe2cfa5067ac02800ea6c26bc2ca7dfeec3016c0e12c69a26922be55ca05e053", + "target": "fe2cfa5067ac02800ea6c26bc2ca7dfeec3016c0e12c69a26922be55ca05e053" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10541, + "bodySha256": "4bfbd2e67091ef44840b1bf929e8a3abc195fc16fd61c3bac0067264dda5e8cb" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-case-editor", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2706 + ], + "targetSize": [ + 1440, + 2706 + ] + }, + "screenshotSha256": { + "source": "68fbef6b258ffb56d7c273527e7997bfe9870bbf9d4dce245d8005f61c064102", + "target": "68fbef6b258ffb56d7c273527e7997bfe9870bbf9d4dce245d8005f61c064102" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c837778802e04c83c198a7bca658331a0620f18e814caf06ad21d961bcf2695d", + "target": "c837778802e04c83c198a7bca658331a0620f18e814caf06ad21d961bcf2695d" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10176, + "bodySha256": "5e38430b8390c744c7971703dfced07372a7698e2d547b4655e9e7b79f8a9278" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-reference-editor", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/edit", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 3187 + ], + "targetSize": [ + 1440, + 3187 + ] + }, + "screenshotSha256": { + "source": "56f46f2a81ff1aa15e5c52b2563cd7c9448b61f5efc0928c19cf29243780383e", + "target": "56f46f2a81ff1aa15e5c52b2563cd7c9448b61f5efc0928c19cf29243780383e" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "25d34b07c4b7cdab5b90472215502efa4467e5e3c03601813f9a1bb384e83f7b", + "target": "25d34b07c4b7cdab5b90472215502efa4467e5e3c03601813f9a1bb384e83f7b" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10176, + "bodySha256": "901ca8073794c4f62edd10769301d3f8170058945bc114a986b91a0529b1447e" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-question-editor", + "path": "/studio/documents/11111111-1111-4111-8111-111111111114/edit", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2857 + ], + "targetSize": [ + 1440, + 2857 + ] + }, + "screenshotSha256": { + "source": "5c2ff7827c5216cfedd101a13adecfe3de4dbaff45cdf6e1260d7891799f6e3c", + "target": "5c2ff7827c5216cfedd101a13adecfe3de4dbaff45cdf6e1260d7891799f6e3c" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d008eb05e6169e588403ba2c50d059ada7104900be07feb1bfc190f33c996b23", + "target": "d008eb05e6169e588403ba2c50d059ada7104900be07feb1bfc190f33c996b23" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10176, + "bodySha256": "5811ec931c394f66e770851bac44f753b1b37ed5871c24c6ec8efedc66013006" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-conflict-editor", + "path": "/studio/documents/11111111-1111-4111-8111-111111111115/edit", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2706 + ], + "targetSize": [ + 1440, + 2706 + ] + }, + "screenshotSha256": { + "source": "4493c3245deee2db43b45bbb3ff314482060eff52ae743ce3ec26ca7ffb3c129", + "target": "4493c3245deee2db43b45bbb3ff314482060eff52ae743ce3ec26ca7ffb3c129" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "f9abb819598eb16b8bac4877c7542d3c41f5fd010e0431dd8fa45b27b43476ff", + "target": "f9abb819598eb16b8bac4877c7542d3c41f5fd010e0431dd8fa45b27b43476ff" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10176, + "bodySha256": "2ef3a4c317192ba421cdfe1ffee01bdb3728eaeb5ffac1bcd9396310a7f64ce4" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-valid-validation", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/validation", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "6b3b7abcd12787ac4893616129fdf67a4acdb9c21b0d657df293d6d4b60ade63", + "target": "6b3b7abcd12787ac4893616129fdf67a4acdb9c21b0d657df293d6d4b60ade63" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "c195e5fce808ccadb53b74bb386fae50574a5f5136958da5a8170300285e8821", + "target": "c195e5fce808ccadb53b74bb386fae50574a5f5136958da5a8170300285e8821" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10219, + "bodySha256": "bc8f1a82372510361760db17be88b2ecd26feb9df0467a65d8d15fb19f289f17" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-invalid-validation", + "path": "/studio/documents/11111111-1111-4111-8111-111111111114/validation", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "3d4e167180ef4b4d3807ee76d5f624cc84a363ccb9a29816496f21cc69bcc463", + "target": "3d4e167180ef4b4d3807ee76d5f624cc84a363ccb9a29816496f21cc69bcc463" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b474d4e9bd769e3f61ecd427de823640f08204e5c355d9ff02317dda9e80c958", + "target": "b474d4e9bd769e3f61ecd427de823640f08204e5c355d9ff02317dda9e80c958" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10219, + "bodySha256": "c32b8029fdfdeb92d0659d732f8be2e104eb3a71f8f387dbc987a7c02189f942" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-current-preview", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/preview", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1904 + ], + "targetSize": [ + 1440, + 1904 + ] + }, + "screenshotSha256": { + "source": "6e58ebd1e5bc5b43bd7db78176368b5d97e04133a2b98a2c0496295aab2c71a7", + "target": "6e58ebd1e5bc5b43bd7db78176368b5d97e04133a2b98a2c0496295aab2c71a7" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "fe4b5e31326c9cd426f392ca88564fb721c8b951506a387384a03548c11bf24f", + "target": "fe4b5e31326c9cd426f392ca88564fb721c8b951506a387384a03548c11bf24f" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10539, + "bodySha256": "e0d29309a3719b8eafc2f33125a430238e194076b29f33ccdfa7c8ab8abe7a49" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-missing-preview", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/preview", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "60efb92eb834390966939f8110d69d3d39131f5c1bc7cb724ebbf2d8680fb93d", + "target": "60efb92eb834390966939f8110d69d3d39131f5c1bc7cb724ebbf2d8680fb93d" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "adec7b1699e27d1149734cf6d6a01f3619067d7e1b6fb681170f40949afbbb6e", + "target": "adec7b1699e27d1149734cf6d6a01f3619067d7e1b6fb681170f40949afbbb6e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10539, + "bodySha256": "8656b85a6ad14496ed053a9b7c52ca14fb1ec2ba7cd031df5cf2c2cb579cfe6f" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-expired-preview", + "path": "/studio/documents/11111111-1111-4111-8111-111111111117/preview", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1463 + ], + "targetSize": [ + 1440, + 1463 + ] + }, + "screenshotSha256": { + "source": "2c175c9486673ae0ef5f4ed052e31fb4ad50efb1533feed6f17eaaafc9af8307", + "target": "2c175c9486673ae0ef5f4ed052e31fb4ad50efb1533feed6f17eaaafc9af8307" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "dc9225714dceb4874c9f0f0928dd50a494cf12ff3d7774c467caf6c514fbd9d0", + "target": "dc9225714dceb4874c9f0f0928dd50a494cf12ff3d7774c467caf6c514fbd9d0" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10539, + "bodySha256": "6a6e286e2f451874cacfec7537f177dc43a0fd1e7912e5250021c01b215d3d5e" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-publish-ready", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/publish", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1001 + ], + "targetSize": [ + 1440, + 1001 + ] + }, + "screenshotSha256": { + "source": "25a7dbb97ef53765033f255de59c35384627e13894a73d24211f9a1480ee304b", + "target": "25a7dbb97ef53765033f255de59c35384627e13894a73d24211f9a1480ee304b" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b8cfc0ab9c9297a786d0b4163c993dfc21caa9615ff3f8af483a15241fe5220e", + "target": "b8cfc0ab9c9297a786d0b4163c993dfc21caa9615ff3f8af483a15241fe5220e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 11643, + "bodySha256": "76014fad40b11716df6168211db73784e79968a506955c19e7913327503919c6" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-publish-blocked", + "path": "/studio/documents/11111111-1111-4111-8111-111111111114/publish", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1001 + ], + "targetSize": [ + 1440, + 1001 + ] + }, + "screenshotSha256": { + "source": "2b9901708c4be0d92b6053091c43175742237e67435c6040c61121b320bfb988", + "target": "2b9901708c4be0d92b6053091c43175742237e67435c6040c61121b320bfb988" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "5f5f7f58056f4ac1066ed448cdd16ed45237e11e114ac0480b747a0df9248b56", + "target": "5f5f7f58056f4ac1066ed448cdd16ed45237e11e114ac0480b747a0df9248b56" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 11643, + "bodySha256": "132b9117a3ecf7f8f713a8118df073a34b45d0d771243930e0819cd19979a04c" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-publications", + "path": "/studio/publications", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1121 + ], + "targetSize": [ + 1440, + 1121 + ] + }, + "screenshotSha256": { + "source": "f71fcd23832d77ce79b6c838bc01479cf9ff5f4b541ffa2fa7c8ea6820103193", + "target": "f71fcd23832d77ce79b6c838bc01479cf9ff5f4b541ffa2fa7c8ea6820103193" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d5b2381e4a4f98a0730659cc50d4fbcccb230cb0c86327ed04b742937c388b52", + "target": "d5b2381e4a4f98a0730659cc50d4fbcccb230cb0c86327ed04b742937c388b52" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 12417, + "bodySha256": "0f62df4d07a3db80238ce701947b11d20cdee09cf67e99e8f36ce09d8d8d7753" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-publication-snapshot", + "path": "/studio/publications/66666666-6666-4666-8666-666666666661/preview", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1687 + ], + "targetSize": [ + 1440, + 1687 + ] + }, + "screenshotSha256": { + "source": "99932c601c4ce248198c623dca66d384edabdc00c7d60701564f68bfcd31cea7", + "target": "99932c601c4ce248198c623dca66d384edabdc00c7d60701564f68bfcd31cea7" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b58a9487fecc35c2c24e9bcd59599837625c5ac826e2066afeebb25d99cfb3cb", + "target": "b58a9487fecc35c2c24e9bcd59599837625c5ac826e2066afeebb25d99cfb3cb" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 12003, + "bodySha256": "9abb6b1d9ebcc73ef861b5ad4fa693f6c08addecdb6610d7d054d911ead32a8d" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-missing-document", + "path": "/studio/documents/99999999-9999-4999-8999-999999999999/edit", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "d036572a25427d0ce1944656bd529a4c92d6891ae064bf8164b962333d56b6fe", + "target": "d036572a25427d0ce1944656bd529a4c92d6891ae064bf8164b962333d56b6fe" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "daeae43cbe5c341c58de07beccfbdf5c40e49c8eac7863ac16284facac50fb6e", + "target": "daeae43cbe5c341c58de07beccfbdf5c40e49c8eac7863ac16284facac50fb6e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10176, + "bodySha256": "5994cbbac310410c0fedd18741a3431e56ff3c081dbeec61d534a008727bbfc1" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-missing-publication", + "path": "/studio/publications/99999999-9999-4999-8999-999999999999/preview", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "1a603580b18b389341256b50746571baa5f41fee8877bbe2549e988855b041bf", + "target": "1a603580b18b389341256b50746571baa5f41fee8877bbe2549e988855b041bf" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e94b3aa25bc2cca0c745b71cee3b9090fd4f14de80a8481530db7ef0e194c878", + "target": "e94b3aa25bc2cca0c745b71cee3b9090fd4f14de80a8481530db7ef0e194c878" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 12003, + "bodySha256": "4a334f9ce0c3fb9aa5ad6599db152011113143590dca551aecce9f34a04cca8f" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_STATE-unknown-studio-route", + "path": "/studio/unknown-screen", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "6fcedcd75187c6aec7bde8d73b391151c53a0bd72e05191efcc1c1aa199b4b39", + "target": "6fcedcd75187c6aec7bde8d73b391151c53a0bd72e05191efcc1c1aa199b4b39" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "bd4ecd5544388dc9421de0a3ac36bf0e06d7ab7bf0b520c04443ecc097da0ede", + "target": "bd4ecd5544388dc9421de0a3ac36bf0e06d7ab7bf0b520c04443ecc097da0ede" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 6469, + "bodySha256": "ad777924fde55d394f570abea05837bf8b9fbc190056f36a5ad9f3b6b4730283" + }, + "target": { + "status": 404, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_EXPLORE_KIND-360", + "path": "/explore/unknown-kind", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_EXPLORE_KIND-1440", + "path": "/explore/unknown-kind", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_CASE-360", + "path": "/cases/not-registered", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_CASE-1440", + "path": "/cases/not-registered", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_REFERENCE-360", + "path": "/references/not-registered", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_REFERENCE-1440", + "path": "/references/not-registered", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_QUESTION-360", + "path": "/questions/not-registered", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_QUESTION-1440", + "path": "/questions/not-registered", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_TOPIC-360", + "path": "/topics/not-registered", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_TOPIC-1440", + "path": "/topics/not-registered", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT-360", + "path": "/projects/missing-project", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT-1440", + "path": "/projects/missing-project", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_RECORDS-360", + "path": "/projects/missing-project/records", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_RECORDS-1440", + "path": "/projects/missing-project/records", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_DECISIONS-360", + "path": "/projects/missing-project/decisions", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_DECISIONS-1440", + "path": "/projects/missing-project/decisions", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_ACTIVITY-360", + "path": "/projects/missing-project/activity", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_PROJECT_ACTIVITY-1440", + "path": "/projects/missing-project/activity", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_RELEASE-360", + "path": "/releases/9.9.9", + "width": 360, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 360, + 1000 + ], + "targetSize": [ + 360, + 1000 + ] + }, + "screenshotSha256": { + "source": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9", + "target": "9ea71d5a0c979df03bda33470bed30ea6ef6ad30c47c8c58be06bbf199bc59a9" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_UNKNOWN_RELEASE-1440", + "path": "/releases/9.9.9", + "width": 1440, + "action": null, + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1000 + ], + "targetSize": [ + 1440, + 1000 + ] + }, + "screenshotSha256": { + "source": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989", + "target": "fcc20942ae5defffa67b4ac77d695cd2cb034ca9fc0e71403cdff56607bae989" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed", + "target": "d53221c09e190889ea4d840c2273d21ec40aff92d23be8fed8ac2989793e77ed" + }, + "responseEqual": true, + "response": { + "source": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + }, + "target": { + "status": 404, + "contentType": "text/plain;charset=UTF-8", + "mimeType": "text/plain", + "bodyBytes": 9, + "bodySha256": "0019dfc4b32d63c1392aa264aed2253c1e0c2fb09216f8e2cc269bbfb8bb49b5" + } + }, + "fontsEqual": true, + "fontContractApplies": false, + "sourceFonts": [], + "targetFonts": [], + "sourceErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "targetErrors": [ + "console: Failed to load resource: the server responded with a status of 404 (Not Found)" + ], + "sourceBootRequests": [], + "targetBootRequests": [], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_SEARCH_DIALOG", + "path": "/", + "width": 390, + "action": "search-dialog", + "pixel": { + "pixels": 0, + "sourceSize": [ + 390, + 3186 + ], + "targetSize": [ + 390, + 3186 + ] + }, + "screenshotSha256": { + "source": "93520c3396ee1808e25a5981507bfafcf5b514204783ad52f68d6c75c6b3e17c", + "target": "93520c3396ee1808e25a5981507bfafcf5b514204783ad52f68d6c75c6b3e17c" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "e62e32f7eb5469336f8ae05f0fb27ed77e73f51266d9f00a4c8aeb67248857dc", + "target": "e62e32f7eb5469336f8ae05f0fb27ed77e73f51266d9f00a4c8aeb67248857dc" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 30157, + "bodySha256": "a9b5fac1c0243e3634bc8a7fd3c7dd1e92453f2ab1f45ad02e391db1ec7b404a" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_MOBILE_MENU", + "path": "/studio", + "width": 390, + "action": "studio-menu", + "pixel": { + "pixels": 0, + "sourceSize": [ + 390, + 3851 + ], + "targetSize": [ + 390, + 3851 + ] + }, + "screenshotSha256": { + "source": "5d562be93304005934cdacaefae2d98ad6371e1e97f0a9e64ed2f3e545da22f0", + "target": "5d562be93304005934cdacaefae2d98ad6371e1e97f0a9e64ed2f3e545da22f0" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "bdb7daf67e958ecf3895dcb320c87a44849a25e86e58af1f8e488305aaa1b95e", + "target": "bdb7daf67e958ecf3895dcb320c87a44849a25e86e58af1f8e488305aaa1b95e" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10787, + "bodySha256": "ff9128e443debe99fe029d9628a51b619d3421799162c719bfa2417f50a6e612" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_IMMEDIATE_PREVIEW", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 1440, + "action": "immediate-preview", + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1733 + ], + "targetSize": [ + 1440, + 1733 + ] + }, + "screenshotSha256": { + "source": "f6786f87d7119e721fb89099117d418b1fad7ddb482aaacdc45c6ddc12c4a9a1", + "target": "f6786f87d7119e721fb89099117d418b1fad7ddb482aaacdc45c6ddc12c4a9a1" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "ff573c7e802872f8ce07844c1bb482bfc2f79868d4c83b8ca8a06ee0b0327019", + "target": "ff573c7e802872f8ce07844c1bb482bfc2f79868d4c83b8ca8a06ee0b0327019" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10176, + "bodySha256": "5e38430b8390c744c7971703dfced07372a7698e2d547b4655e9e7b79f8a9278" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_DIRTY_DIALOG", + "path": "/studio/documents/11111111-1111-4111-8111-111111111111/edit", + "width": 1440, + "action": "dirty-dialog", + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2706 + ], + "targetSize": [ + 1440, + 2706 + ] + }, + "screenshotSha256": { + "source": "e6156dfb9580802cac95c914cbed1b4598ebdacadb9fd11fabe077214196e344", + "target": "e6156dfb9580802cac95c914cbed1b4598ebdacadb9fd11fabe077214196e344" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "ba31d4cf9338cce9389bf8cadb8fcb8c79de57347237b29ed20366cbd9d98400", + "target": "ba31d4cf9338cce9389bf8cadb8fcb8c79de57347237b29ed20366cbd9d98400" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10176, + "bodySha256": "5e38430b8390c744c7971703dfced07372a7698e2d547b4655e9e7b79f8a9278" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_CURRENT_PREVIEW_CREATED", + "path": "/studio/documents/11111111-1111-4111-8111-111111111113/preview", + "width": 1440, + "action": "create-preview", + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 2403 + ], + "targetSize": [ + 1440, + 2403 + ] + }, + "screenshotSha256": { + "source": "df6677bf214332a06251e68d7a8b4023d55f793f89a7d7657f4cdd05e612894f", + "target": "df6677bf214332a06251e68d7a8b4023d55f793f89a7d7657f4cdd05e612894f" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "20aaaf311758b679a747917d97168e7e46405174c3be06407d3f0c341d7b9c5b", + "target": "20aaaf311758b679a747917d97168e7e46405174c3be06407d3f0c341d7b9c5b" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10539, + "bodySha256": "8656b85a6ad14496ed053a9b7c52ca14fb1ec2ba7cd031df5cf2c2cb579cfe6f" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_UNPUBLISH_DIALOG", + "path": "/studio/publications", + "width": 1440, + "action": "unpublish-dialog", + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1121 + ], + "targetSize": [ + 1440, + 1121 + ] + }, + "screenshotSha256": { + "source": "5dfa3419d338408984f2b948ec3dfabfded46fdf450851a1525f592cb2758293", + "target": "5dfa3419d338408984f2b948ec3dfabfded46fdf450851a1525f592cb2758293" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "08be049160f5cb453534467e5f7b33a62f0df697230a319a15aa4f6208e5e78b", + "target": "08be049160f5cb453534467e5f7b33a62f0df697230a319a15aa4f6208e5e78b" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 12417, + "bodySha256": "0f62df4d07a3db80238ce701947b11d20cdee09cf67e99e8f36ce09d8d8d7753" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + }, + { + "name": "TECH_LOG_STUDIO_WARNING_ACKNOWLEDGED", + "path": "/studio/documents/11111111-1111-4111-8111-111111111116/validation", + "width": 1440, + "action": "warning-acknowledged", + "pixel": { + "pixels": 0, + "sourceSize": [ + 1440, + 1185 + ], + "targetSize": [ + 1440, + 1185 + ] + }, + "screenshotSha256": { + "source": "61b3f6b877bbe92ce495a766530d026e43731ae8bb192ac3bcd1d0161ee6caf6", + "target": "61b3f6b877bbe92ce495a766530d026e43731ae8bb192ac3bcd1d0161ee6caf6" + }, + "structureEqual": true, + "productSubtreeSha256": { + "source": "b88e7e38ad27e9de9972cabaffad56d75cda5979b191c1d9cd11e1da80096c13", + "target": "b88e7e38ad27e9de9972cabaffad56d75cda5979b191c1d9cd11e1da80096c13" + }, + "responseEqual": true, + "response": { + "source": { + "status": 200, + "contentType": "text/html; charset=utf-8", + "mimeType": "text/html", + "bodyBytes": 10219, + "bodySha256": "29de15eda4fbe2657e3bd46aa3e147aa112a3134611be46a96974a7c7c7f9983" + }, + "target": { + "status": 200, + "contentType": "text/html;charset=UTF-8", + "mimeType": "text/html", + "bodyBytes": 1021, + "bodySha256": "fdc4fd21c68bb255a25f6d6ef8941bbef832bd19412e43990d6f061175aa7bf3" + } + }, + "fontsEqual": true, + "fontContractApplies": true, + "sourceFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "targetFonts": [ + { + "family": "Pretendard Variable", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "unloaded" + }, + { + "family": "IBM Plex Mono", + "status": "loaded" + } + ], + "sourceErrors": [], + "targetErrors": [], + "sourceBootRequests": [], + "targetBootRequests": [ + { + "url": "http://127.0.0.1:4174/config.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + }, + { + "url": "http://127.0.0.1:4174/release-manifest.json", + "method": "GET", + "resourceType": "fetch", + "state": "finished" + } + ], + "unexplainedSourceErrors": [], + "unexplainedTargetErrors": [], + "passed": true + } + ], + "evidenceSha256": "f046047beded19ce468be607dcf99c6b74d4e07323457ec7145c56d2f67d2c79" +} diff --git a/docs/operations/techlog-ui-migration-baseline.md b/docs/operations/techlog-ui-migration-baseline.md index 2eb5f5d..1043185 100644 --- a/docs/operations/techlog-ui-migration-baseline.md +++ b/docs/operations/techlog-ui-migration-baseline.md @@ -96,39 +96,82 @@ the resulting browser comparison is pixel-identical. The source was copied to `/tmp/techlog-source-parity.I0CBK7` before build and runtime caches were created. The supplied source directory was used only for read-only file comparison; it was not edited. The temp-copy Vinext production -server and the target Vite preview were captured by one Playwright Chromium -instance with two fresh contexts under identical conditions: +server on `4375` and the target `dist/server.mjs` production artifact on `4174` +were captured by one Playwright Chromium instance with two fresh contexts +under identical conditions: - `ko-KR`, `Asia/Seoul`, light color scheme, reduced motion, device scale 1, service workers blocked, and a fixed `2026-08-14T01:00:00.000Z` clock; - 1000-pixel viewport height, full-page screenshots, `document.fonts.ready`, Pretendard/IBM Plex font checks, zero-duration animation/transition/caret; -- no screenshot masks; exact RGBA pixel comparison plus product-subtree - tag/class/text/ARIA projection and console/request failure comparison. +- no screenshot masks; exact RGBA pixel comparison plus normalized recursive + product-subtree tags, ordered children, complete classes, relevant + attributes, text/ARIA relationships, response metadata, boot lifecycle, and + console/request failure comparison. + +The only attributes omitted by name after concrete diagnostics are React +Router `data-discover`, Next Image `data-nimg`/`decoding`/`srcset`, and Next SSR +`selected`; generated React IDs and CSS-module hashes are normalized by value. +No broad attribute class is omitted. | Evidence group | Cases | | --- | ---: | | 27 canonical routes at 360 and 1440 pixels | 54 | +| Every additional known Public fixture slug/version | 18 | | Public home breakpoint transitions | 12 | | Studio screen/state fixtures | 19 | | Ten unknown Public dynamic shapes at 360 and 1440 pixels | 20 | | Search/menu/preview/dialog/publication interactions | 7 | -| **Total** | **112** | +| **Total** | **130** | -Result: 112/112 passed, zero failed, zero different pixels, all DOM/class/text/ -ARIA projections equal, and zero unexplained source or target console/request -errors. The target-only visual regression suite exercises the same 112 cases -against 111 committed PNGs; the canonical and Studio-state 1440-pixel +Result: 130/130 passed, zero failed, zero different pixels, all recursive +DOM/class/attribute/text/ARIA trees and HTTP response metadata equal, and zero +unexplained source or target console/request errors. The target-only visual +regression suite exercises the same 130 cases against 129 committed PNGs; the +canonical and Studio-state 1440-pixel `/studio/publications` cases intentionally share one identical snapshot. Source screenshots were temporary comparison inputs and were not copied into the target snapshot directory. +The checked clean-checkout command is +`TZ=Asia/Seoul corepack pnpm verify:tech-log-source-parity`; it runs directly +under the installed Node 24 runtime and has no `tsx` dependency. Durable +evidence is committed at +`docs/operations/evidence/tech-log-source-parity.json`. It records 178 source +checksums with tree digest +`6724c2f898eefc62d2fc0ee695bccc3ae61a69c5153ed43c69f2cf99ee45bca5`, +target candidate `3a7c5deca06679fb9b8710da2cce87bbca07ce8a`, build-manifest digest +`3579650faa482f566553c00d8b4a05a05b4f7a1ab93b83e48676289bbcf02984`, +Vite-manifest digest +`cfd583ed7b6c27dce7f47389447608636b6b9df3e28df00c6416674da2c7c46d`, +case inventory digest +`5689bcdb5d5637205cdeb92b7c57f72d99f0b039818b8f90afdde526bbafe0ac`, +and evidence payload digest +`f046047beded19ce468be607dcf99c6b74d4e07323457ec7145c56d2f67d2c79`. + The production source responds to both a missing dynamic slug such as `/projects/missing-project` and an unmatched path such as -`/definitely-not-a-product-route` with HTTP 404, `text/plain`, and the exact -nine-byte body `Not Found`. The target intentionally removes the Public shell -for those paths and matches that response in curl and Chromium regressions; -this is the observed production source contract, not a generic runtime error. +`/definitely-not-a-product-route` with HTTP 404, +`text/plain;charset=UTF-8`, and the exact nine-byte body `Not Found`. The +target production server intentionally removes the Public shell for those +paths and matches that response in direct HTTP and Chromium regressions. Known +Public routes and all known Studio routes remain SPA-served; `/studio/*` +unknown paths preserve the source's in-shell HTML with HTTP 404. This is the +observed production source contract, not a generic runtime error. + +## Accessibility review boundary + +Automated Chromium `@a11y` coverage passes 29/29. The source-controlled manual +inventory contains exactly the 27 installed route IDs and removes the obsolete +starter records. Every human record remains `pending-manual-review` until one +reviewer evaluates keyboard, focus, modal/error behavior, color, reduced +motion, and screen-reader output against immutable candidate +`3a7c5deca06679fb9b8710da2cce87bbca07ce8a`. Therefore +`corepack pnpm review:a11y-manual` intentionally exits nonzero with 27 +incomplete records and `release IDs do not match`; neither the manual gate nor +`FE-GATE-009` is represented as passing. The exact completion format is in +`docs/accessibility/manual-checklist.md`, and signed evidence must be committed +separately after it cites the candidate SHA. ## Governed route migration @@ -148,11 +191,15 @@ The exact repository aggregate command was run in the managed workspace: corepack pnpm test:all ``` -Its runtime-schema phase passed 3 files/40 tests. The unit phase passed 117 -files/1,738 tests and reported 50 failures in three child-process-heavy files: -39 `ci-artifact-contract`, 2 `ci-workflow-generation`, and 9 -`http-scenario-evidence`. Every failure was rooted in `spawnSync ... EPERM` in -the restricted process sandbox; no `tests/features/tech-log` test failed. +Its fresh staged-candidate runtime-schema phase passed 3 files/40 tests. The +unit phase passed 122 files/1,773 tests and reported 19 failures, all in the +pre-existing `ci-artifact-contract` provider/cgroup, RLIMIT/EMFILE, +restrictive-umask, `/tmp`, timing, and identity environment cases. No +`tests/features/tech-log` test failed. A pre-staging diagnostic run also found +39 `APP_HOME` release-inventory failures because new serving files were not yet +visible to `git ls-files`; staging the complete candidate fixed that test +precondition, and all 39 disappeared. The same run's one guardian aggregate +timeout passed 1/1 in isolation and 21/21 in the fresh staged aggregate. The failing files were then reproduced in isolation outside that child-process restriction: @@ -161,14 +208,13 @@ restriction: corepack pnpm exec vitest run tests/unit/ci-artifact-contract.test.ts tests/unit/ci-workflow-generation.test.ts tests/unit/http-scenario-evidence.test.ts ``` -Result: 3 files/529 tests, 510 passed and the pre-existing 19 environment-only +Result: 3 files/529 tests, 510 passed and the same 19 environment-only `ci-artifact-contract` cases failed. The 407 `ci-workflow-generation` and 14 -`http-scenario-evidence` tests all passed. The remaining exact 19 are the -documented provider lifecycle/cgroup, RLIMIT/EMFILE, restrictive-umask, and -`/tmp` timing/identity cases; they contain no TechLog code or test. The -aggregate phases after unit were also run directly: component 18 files/124 -tests, integration 11 files/82 tests under the required child-process scope, -reference feature 4 files/13 tests, and recipes 2 files/17 tests all passed. +`http-scenario-evidence` tests all passed. These 19 contain no TechLog code or +test. The aggregate phases after unit were also run directly: component 18 +files/124 tests, integration 11 files/82 tests under the required child-process +scope, reference feature 4 files/13 tests, and recipes 2 files/17 tests all +passed. The inventories in this document are human review baselines. Automated coverage is intentionally limited to the two SVG byte contracts, evidence