simbiot-harness/video/carousel-ai-future/.hyperframes/artifacts/checks/98172ef6-c78c-434a-bc4e-0c36d8be2e31.json
Simbiot Harness 09089902e9 карусель «The harness is the product»: 8 слайдов 1080×1350 с фото Alex (hyperframes)
Тезисы — из 42_Harness_Deck и Simbiot Whitepaper; стиль кость/карбон + лайм Shkor Labs.
PNG-слайды и анимированная версия — snapshot/render того же index.html.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 10:52:47 +00:00

443 lines
14 KiB
JSON

{
"ok": false,
"strict": false,
"browserSkipped": false,
"lint": {
"ok": true,
"errorCount": 0,
"warningCount": 11,
"infoCount": 0,
"findings": [
{
"code": "duplicate_media_discovery_risk",
"severity": "warning",
"message": "Detected 7 matching img entries with the same source/start/duration.",
"selector": "[data-composition-id]",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Avoid duplicated media nodes that can be discovered twice during compilation."
},
{
"code": "timeline_track_too_dense",
"severity": "warning",
"message": "Track 1 has 8 timed elements in this HTML file. Smaller sub-compositions keep timelines easier to read, iterate on, and diff.",
"selector": "[data-composition-id]",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move coherent scene groups into separate .html files under compositions/ and mount them from the parent with data-composition-src so the timeline stays easier to inspect, revise, and validate."
},
{
"code": "nested_structure_needs_subcomposition",
"severity": "warning",
"message": "<div id=\"bg\"> is a timeline element that contains nested <div id=\"bg-grid\">. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.",
"selector": "#bg",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move <div id=\"bg\"> and its contents into a sub-composition file and mount it with data-composition-src."
},
{
"code": "nested_structure_needs_subcomposition",
"severity": "warning",
"message": "<section id=\"s1\"> is a timeline element that contains nested <div id=\"s1-photo\">. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.",
"selector": "#s1",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move <section id=\"s1\"> and its contents into a sub-composition file and mount it with data-composition-src."
},
{
"code": "nested_structure_needs_subcomposition",
"severity": "warning",
"message": "<section id=\"s2\"> is a timeline element that contains nested <div>. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.",
"selector": "#s2",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move <section id=\"s2\"> and its contents into a sub-composition file and mount it with data-composition-src."
},
{
"code": "nested_structure_needs_subcomposition",
"severity": "warning",
"message": "<section id=\"s3\"> is a timeline element that contains nested <div>. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.",
"selector": "#s3",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move <section id=\"s3\"> and its contents into a sub-composition file and mount it with data-composition-src."
},
{
"code": "nested_structure_needs_subcomposition",
"severity": "warning",
"message": "<section id=\"s4\"> is a timeline element that contains nested <div id=\"s4-photo\">. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.",
"selector": "#s4",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move <section id=\"s4\"> and its contents into a sub-composition file and mount it with data-composition-src."
},
{
"code": "nested_structure_needs_subcomposition",
"severity": "warning",
"message": "<section id=\"s5\"> is a timeline element that contains nested <div>. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.",
"selector": "#s5",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move <section id=\"s5\"> and its contents into a sub-composition file and mount it with data-composition-src."
},
{
"code": "nested_structure_needs_subcomposition",
"severity": "warning",
"message": "<section id=\"s6\"> is a timeline element that contains nested <div id=\"s6-photo\">. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.",
"selector": "#s6",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move <section id=\"s6\"> and its contents into a sub-composition file and mount it with data-composition-src."
},
{
"code": "nested_structure_needs_subcomposition",
"severity": "warning",
"message": "<section id=\"s7\"> is a timeline element that contains nested <div>. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.",
"selector": "#s7",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move <section id=\"s7\"> and its contents into a sub-composition file and mount it with data-composition-src."
},
{
"code": "nested_structure_needs_subcomposition",
"severity": "warning",
"message": "<section id=\"s8\"> is a timeline element that contains nested <div id=\"s8-photo\">. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.",
"selector": "#s8",
"dataAttributes": {},
"sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html",
"bbox": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"time": 0,
"fixHint": "Move <section id=\"s8\"> and its contents into a sub-composition file and mount it with data-composition-src."
}
],
"filesScanned": 1
},
"runtime": {
"ok": true,
"errorCount": 0,
"warningCount": 0,
"infoCount": 0,
"findings": []
},
"layout": {
"ok": false,
"errorCount": 1,
"warningCount": 0,
"infoCount": 2,
"findings": [
{
"code": "content_overlap",
"severity": "error",
"time": 8.916,
"selector": "#s3-ring > div:nth-of-type(6)",
"message": "Two text blocks overlap and may render unreadable.",
"rect": {
"left": 494.81,
"top": 1115.5,
"right": 585.17,
"bottom": 1144.5,
"width": 90.36,
"height": 29
},
"containerSelector": "#s3-sub",
"text": "memory",
"fixHint": "Give each block its own zone, or put data-layout-allow-overlap on the text or on a container inside the scene. A marker on the scene root does not apply.",
"dataAttributes": {},
"sourceFile": "index.html",
"bbox": {
"x": 494.81,
"y": 1115.5,
"width": 90.36,
"height": 29
},
"firstSeen": 8.916,
"lastSeen": 10.48,
"occurrences": 11,
"heldMs": 1564,
"times": [
8.916,
9.073,
9.229,
9.385,
9.542,
9.698,
9.855,
10.011,
10.168,
10.324,
10.48
]
},
{
"code": "container_overflow",
"severity": "info",
"time": 1.556,
"selector": "#s1-photo",
"message": "Element extends outside a clipping layout container.",
"rect": {
"left": -10.75,
"top": -13.43,
"right": 1090.75,
"bottom": 1363.43,
"width": 1101.49,
"height": 1376.86
},
"containerSelector": "#s1",
"fixHint": "Resize/reposition the child or container, or mark intentional overflow with data-layout-allow-overflow.",
"containerRect": {
"left": 0,
"top": 0,
"right": 1080,
"bottom": 1350,
"width": 1080,
"height": 1350
},
"overflow": {
"left": 10.75,
"right": 10.75,
"top": 13.43,
"bottom": 13.43
},
"dataAttributes": {},
"sourceFile": "index.html",
"bbox": {
"x": -10.75,
"y": -13.43,
"width": 1101.49,
"height": 1376.86
},
"firstSeen": 1.556,
"lastSeen": 1.556,
"occurrences": 1,
"heldMs": 0,
"times": [
1.556
]
},
{
"code": "container_overflow",
"severity": "info",
"time": 10.889,
"selector": "#s4-photo",
"message": "Element extends outside a clipping layout container.",
"rect": {
"left": -38.34,
"top": -22.72,
"right": 1118.34,
"bottom": 662.72,
"width": 1156.68,
"height": 685.44
},
"containerSelector": "#s4",
"fixHint": "Resize/reposition the child or container, or mark intentional overflow with data-layout-allow-overflow.",
"containerRect": {
"left": 0,
"top": 0,
"right": 1080,
"bottom": 1350,
"width": 1080,
"height": 1350
},
"overflow": {
"left": 38.34,
"right": 38.34,
"top": 22.72
},
"dataAttributes": {},
"sourceFile": "index.html",
"bbox": {
"x": -38.34,
"y": -22.72,
"width": 1156.68,
"height": 685.44
},
"firstSeen": 10.889,
"lastSeen": 10.889,
"occurrences": 1,
"heldMs": 0,
"times": [
10.889
]
}
],
"duration": 28,
"samples": [
1.556,
4.667,
7.778,
10.889,
14,
17.111,
20.222,
23.333,
26.444
],
"transitionSamples": [],
"transitionSamplesDropped": 0,
"tolerance": 2,
"totalIssueCount": 3,
"truncated": false
},
"motion": {
"ok": true,
"errorCount": 0,
"warningCount": 0,
"infoCount": 0,
"findings": [],
"enabled": false,
"samples": 0
},
"contrast": {
"ok": true,
"errorCount": 0,
"warningCount": 2,
"infoCount": 0,
"findings": [
{
"code": "contrast_aa_failure",
"severity": "warning",
"message": "Contrast is 1.89:1; WCAG AA requires 4.5:1.",
"text": "06 / 08",
"fg": "rgb(168,162,151)",
"bg": "rgb(222,222,222)",
"ratio": 1.89,
"requiredRatio": 4.5,
"suggestedColor": "rgb(102,98,92)",
"large": false,
"selector": "div > section:nth-of-type(6) > div:nth-of-type(3) > div",
"dataAttributes": {},
"sourceFile": "index.html",
"bbox": {
"x": 895.859375,
"y": 69.5,
"width": 120.140625,
"height": 29
},
"time": 20.222,
"times": [
20.222
]
},
{
"code": "contrast_aa_failure",
"severity": "warning",
"message": "Contrast is 1.17:1; WCAG AA requires 3:1.",
"text": "06",
"fg": "rgb(236,230,218)",
"bg": "rgb(214,214,214)",
"ratio": 1.17,
"requiredRatio": 3,
"suggestedColor": "rgb(123,120,114)",
"large": true,
"selector": "div > section:nth-of-type(6) > div:nth-of-type(3) > div > b",
"dataAttributes": {},
"sourceFile": "index.html",
"bbox": {
"x": 895.859375,
"y": 69.5,
"width": 34.328125,
"height": 29
},
"time": 20.222,
"times": [
20.222
]
}
],
"enabled": true,
"samples": [
1.556,
7.778,
14,
20.222,
26.444
],
"checked": 33,
"passed": 31
},
"hdr": {
"autoPromotion": null,
"inspection": "available"
},
"snapshots": {
"enabled": false,
"files": [],
"times": [],
"findingFiles": []
}
}