[{"data":1,"prerenderedAt":1168},["ShallowReactive",2],{"navigation_docs":3,"-visual-and-copy-tribunals-ui-gate-geometry":234,"-visual-and-copy-tribunals-ui-gate-geometry-surround":1163},[4,26,47,68,89,114,135,164,181,210],{"title":5,"path":6,"stem":7,"children":8,"page":25},"1. Getting Started & Pricing","\u002Fgetting-started","01.getting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"1.1 5-Minute Quickstart","\u002Fgetting-started\u002Fquickstart","01.getting-started\u002F1.quickstart",{"title":14,"path":15,"stem":16},"1.2 Project Boards Setup","\u002Fgetting-started\u002Fboard-init","01.getting-started\u002F2.board-init",{"title":18,"path":19,"stem":20},"1.3 GitHub Actions & GitLab CI Runner Setup","\u002Fgetting-started\u002Fci-runners","01.getting-started\u002F3.ci-runners",{"title":22,"path":23,"stem":24},"1.4 Organization Credit Pool & Per-Function Credit Pricing","\u002Fgetting-started\u002Forg-credits-and-slack","01.getting-started\u002F4.org-credits-and-slack",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"2. Pair & Triad Programming","\u002Fpair-and-triad-programming","02.pair-and-triad-programming",[31,35,39,43],{"title":32,"path":33,"stem":34},"2.1 Cross-Model Pair & Triad Programming","\u002Fpair-and-triad-programming\u002Foverview","02.pair-and-triad-programming\u002F1.overview",{"title":36,"path":37,"stem":38},"2.2 Isolated Shadow Workspaces","\u002Fpair-and-triad-programming\u002Fshadow-jj-workspaces","02.pair-and-triad-programming\u002F2.shadow-jj-workspaces",{"title":40,"path":41,"stem":42},"2.3 Cryptographic File-Scope Leases & Small-Diff Gates","\u002Fpair-and-triad-programming\u002Ffile-scope-leases","02.pair-and-triad-programming\u002F3.file-scope-leases",{"title":44,"path":45,"stem":46},"2.4 Sub-Issue to Subagent Fan-Out & Delta Velocity","\u002Fpair-and-triad-programming\u002Fsub-issue-fanout","02.pair-and-triad-programming\u002F4.sub-issue-fanout",{"title":48,"path":49,"stem":50,"children":51,"page":25},"3. Declarative Workflow Policy","\u002Fworkflow-policy","03.workflow-policy",[52,56,60,64],{"title":53,"path":54,"stem":55},"3.1 Declarative Workflow Policy Schema","\u002Fworkflow-policy\u002Fschema-reference","03.workflow-policy\u002F1.schema-reference",{"title":57,"path":58,"stem":59},"3.2 Cryptographic Conformance Matrix & Memory Tombstones","\u002Fworkflow-policy\u002Fwp-01-to-wp-15-matrix","03.workflow-policy\u002F2.wp-01-to-wp-15-matrix",{"title":61,"path":62,"stem":63},"3.3 Two-Tier Organization Governance Lattice","\u002Fworkflow-policy\u002Forg-policy-floor","03.workflow-policy\u002F3.org-policy-floor",{"title":65,"path":66,"stem":67},"3.4 Trusted Handoff Hooks & Independent Verification","\u002Fworkflow-policy\u002Fhandoff-hooks-h1-to-h5","03.workflow-policy\u002F4.handoff-hooks-h1-to-h5",{"title":69,"path":70,"stem":71,"children":72,"page":25},"4. Visual Geometry & Copy Gates","\u002Fvisual-and-copy-tribunals","04.visual-and-copy-tribunals",[73,77,81,85],{"title":74,"path":75,"stem":76},"12-Tuple DOM Geometry (176\u002F176)","\u002Fvisual-and-copy-tribunals\u002Fui-gate-geometry","04.visual-and-copy-tribunals\u002F1.ui-gate-geometry",{"title":78,"path":79,"stem":80},"Vision-3 Geometry & Auto-Patch","\u002Fvisual-and-copy-tribunals\u002Fcross-model-design-tribunal","04.visual-and-copy-tribunals\u002F2.cross-model-design-tribunal",{"title":82,"path":83,"stem":84},"64\u002F64 Declaration Copy Gate","\u002Fvisual-and-copy-tribunals\u002Fdeclaration-copy-gate","04.visual-and-copy-tribunals\u002F3.declaration-copy-gate",{"title":86,"path":87,"stem":88},"Synthetic CI Canary","\u002Fvisual-and-copy-tribunals\u002Fsynthetic-ci-canary","04.visual-and-copy-tribunals\u002F4.synthetic-ci-canary",{"title":90,"path":91,"stem":92,"children":93,"page":25},"5. Autonomous AI Program Manager","\u002Fdelivery-program-manager","05.delivery-program-manager",[94,98,102,106,110],{"title":95,"path":96,"stem":97},"Overview: Dual-Brain AI PM","\u002Fdelivery-program-manager\u002Foverview","05.delivery-program-manager\u002F1.overview",{"title":99,"path":100,"stem":101},"Executable Tickets & Auto-Splitting","\u002Fdelivery-program-manager\u002Fchinwag-tasks-and-never-stop","05.delivery-program-manager\u002F2.chinwag-tasks-and-never-stop",{"title":103,"path":104,"stem":105},".codegraph & FinOps Routing","\u002Fdelivery-program-manager\u002Fcodegraph-and-finops-arbitrage","05.delivery-program-manager\u002F3.codegraph-and-finops-arbitrage",{"title":107,"path":108,"stem":109},"++ Triage & CI Recovery","\u002Fdelivery-program-manager\u002Fplus-plus-ci-triage","05.delivery-program-manager\u002F4.plus-plus-ci-triage",{"title":111,"path":112,"stem":113},"Flight Deck & Trajectory Time-Travel","\u002Fdelivery-program-manager\u002Fflight-deck-and-time-travel","05.delivery-program-manager\u002F5.flight-deck-and-time-travel",{"title":115,"path":116,"stem":117,"children":118,"page":25},"6. The Chinwag Way & Scrimmages","\u002Fthe-chinwag-way","06.the-chinwag-way",[119,123,127,131],{"title":120,"path":121,"stem":122},"Academic Foundations","\u002Fthe-chinwag-way\u002Facademic-foundations","06.the-chinwag-way\u002F1.academic-foundations",{"title":124,"path":125,"stem":126},"Chips (◈) & 7-Day Survival","\u002Fthe-chinwag-way\u002Fchips-and-7day-survival","06.the-chinwag-way\u002F2.chips-and-7day-survival",{"title":128,"path":129,"stem":130},"Sealed Card (.cwcard.png) Drills","\u002Fthe-chinwag-way\u002Fsealed-card-handoff-drills","06.the-chinwag-way\u002F3.sealed-card-handoff-drills",{"title":132,"path":133,"stem":134},"Calibration Scrimmages","\u002Fthe-chinwag-way\u002Fcalibration-scrimmages","06.the-chinwag-way\u002F4.calibration-scrimmages",{"title":136,"path":137,"stem":138,"children":139,"page":25},"7. Zero-Knowledge Cryptography","\u002Fzero-knowledge-cryptography","07.zero-knowledge-cryptography",[140,144,148,152,156,160],{"title":141,"path":142,"stem":143},"PQ-HPKE Wire Envelope","\u002Fzero-knowledge-cryptography\u002Fpq-hpke-envelope","07.zero-knowledge-cryptography\u002F1.pq-hpke-envelope",{"title":145,"path":146,"stem":147},"Verify-Before-Decrypt (K1+K2)","\u002Fzero-knowledge-cryptography\u002Fverify-before-decrypt","07.zero-knowledge-cryptography\u002F2.verify-before-decrypt",{"title":149,"path":150,"stem":151},"Blinded Commitments & 128B Flywheel","\u002Fzero-knowledge-cryptography\u002Fblind-commitments","07.zero-knowledge-cryptography\u002F3.blind-commitments",{"title":153,"path":154,"stem":155},"Local Viewer & CISO DPA","\u002Fzero-knowledge-cryptography\u002Flocal-viewer-and-dpa","07.zero-knowledge-cryptography\u002F4.local-viewer-and-dpa",{"title":157,"path":158,"stem":159},"A.509 Agent Passports","\u002Fzero-knowledge-cryptography\u002Fa509-agent-pkix","07.zero-knowledge-cryptography\u002F5.a509-agent-pkix",{"title":161,"path":162,"stem":163},"chinwag-acu & CISO Kill Switch","\u002Fzero-knowledge-cryptography\u002Fchinwag-acu","07.zero-knowledge-cryptography\u002F6.chinwag-acu",{"title":165,"path":166,"stem":167,"children":168,"page":25},"8. E2EE Mesh & Extension SDK","\u002Fmesh-and-extensions","08.mesh-and-extensions",[169,173,177],{"title":170,"path":171,"stem":172},"chinwag-mesh & 3-Repo Time Machine","\u002Fmesh-and-extensions\u002Fsdk-and-cwcard-png-transport","08.mesh-and-extensions\u002F1.sdk-and-cwcard-png-transport",{"title":174,"path":175,"stem":176},"warroom & whisper Extensions","\u002Fmesh-and-extensions\u002Fwarroom-and-whisper","08.mesh-and-extensions\u002F2.warroom-and-whisper",{"title":178,"path":179,"stem":180},"teleport, shroud & vault","\u002Fmesh-and-extensions\u002Fgit-bundle-and-vault","08.mesh-and-extensions\u002F3.git-bundle-and-vault",{"title":182,"path":183,"stem":184,"children":185,"page":25},"9. CLI & GraphQL Reference","\u002Fcli-and-graphql-reference","09.cli-and-graphql-reference",[186,190,194,198,202,206],{"title":187,"path":188,"stem":189},"chinwag tasks & task","\u002Fcli-and-graphql-reference\u002Fchinwag-task","09.cli-and-graphql-reference\u002F1.chinwag-task",{"title":191,"path":192,"stem":193},"chinwag board & GraphQL","\u002Fcli-and-graphql-reference\u002Fchinwag-board","09.cli-and-graphql-reference\u002F2.chinwag-board",{"title":195,"path":196,"stem":197},"chinwag pair & triad","\u002Fcli-and-graphql-reference\u002Fchinwag-pair-and-triad","09.cli-and-graphql-reference\u002F3.chinwag-pair-and-triad",{"title":199,"path":200,"stem":201},"chinwag bus","\u002Fcli-and-graphql-reference\u002Fchinwag-bus","09.cli-and-graphql-reference\u002F4.chinwag-bus",{"title":203,"path":204,"stem":205},"chinwag-ci, fork-run & ui-gate","\u002Fcli-and-graphql-reference\u002Fchinwag-ci-and-uigate","09.cli-and-graphql-reference\u002F5.chinwag-ci-and-uigate",{"title":207,"path":208,"stem":209},"chinwag memory & tombstone","\u002Fcli-and-graphql-reference\u002Fchinwag-memory","09.cli-and-graphql-reference\u002F6.chinwag-memory",{"title":211,"path":212,"stem":213,"children":214,"page":-1},"10. Architecture PRDs","\u002Fprds","10.prds",[215,218,222,226,230],{"title":216,"path":212,"stem":217},"10.0 Ratified Architecture PRDs","10.prds\u002Findex",{"title":219,"path":220,"stem":221},"10.1 Ephemeral Tart Cleanroom VMs & Declarative Nix","\u002Fprds\u002Ftart-cleanroom-vms","10.prds\u002F1.tart-cleanroom-vms",{"title":223,"path":224,"stem":225},"10.2 Executable Delivery Boards & Proof-of-Green","\u002Fprds\u002Fdelivery-executable-boards","10.prds\u002F2.delivery-executable-boards",{"title":227,"path":228,"stem":229},"10.3 Cursor Agent SDK Importer & Sanitizer","\u002Fprds\u002Fcursor-agent-sdk-importer","10.prds\u002F3.cursor-agent-sdk-importer",{"title":231,"path":232,"stem":233},"10.4 Chinwag Local Web App & Command Center","\u002Fprds\u002Fhuman-command-center-ui","10.prds\u002F4.human-command-center-ui",{"id":235,"title":236,"body":237,"command":250,"description":1156,"extension":1157,"links":1158,"meta":1159,"navigation":1160,"path":75,"seo":1161,"stem":76,"__hash__":1162},"docs\u002F04.visual-and-copy-tribunals\u002F1.ui-gate-geometry.md","4.1 Stage 1: Deterministic DOM Geometry Gate",{"type":238,"value":239,"toc":1147},"minimark",[240,244,251,309,320,360,401,404,409,420,510,512,524,540,730,732,739,742,1085,1087,1091,1097,1105,1107,1111,1120,1143],[241,242,236],"h1",{"id":243},"_41-stage-1-deterministic-dom-geometry-gate",[245,246,247],"p",{},[248,249,250],"code",{},"chinwag ui-gate --url http:\u002F\u002Flocalhost:8080 --surfaces 16",[252,253,254],"blockquote",{},[245,255,256,268,269,263,272,275,276,279,280,283,284,287,288,291,292,294,295,301,302,308],{},[257,258,259,260,263,264,267],"strong",{},"✅ Available Now (",[248,261,262],{},"v0.1.0"," · ",[248,265,266],{},"CHWG-PUB-105","):"," Stage 1 (",[248,270,271],{},"verify-ui-geometry.py",[248,273,274],{},"176\u002F176"," deterministic 12-tuple DOM physics assertions across ",[248,277,278],{},"8"," viewports and ",[248,281,282],{},"2"," color themes in ",[248,285,286],{},"\u003C900ms"," at ",[248,289,290],{},"0 Credits",") is shipped and verified in ",[248,293,262],{},". See ",[296,297,299],"a",{"href":298},"\u002Fapi\u002Freality-matrix",[248,300,298],{}," and the ",[296,303,307],{"href":304,"rel":305},"https:\u002F\u002Fchinwag.sh\u002Froadmap",[306],"nofollow","Chinwag Public Roadmap",".",[245,310,311,312,315,316,319],{},"AI coding agents write valid JSX, Vue, and CSS that compiles without warnings and passes unit tests · yet renders broken layouts in a real browser. Hero headings wrap to four lines at ",[248,313,314],{},"1024px",", navigation pills collide on ",[248,317,318],{},"768px"," tablets, sticky topbars obscure anchor targets, and light-mode muted text drops below WCAG AA contrast.",[245,321,322,325,326,329,330,333,334,344,345,308],{},[248,323,324],{},"chinwag ui-gate"," solves this with a three-stage visual verification pipeline (",[248,327,328],{},"WP-12","). ",[257,331,332],{},"Stage 1"," runs locally inside headless Chromium in ",[257,335,336,337,287,340,343],{},"under ",[248,338,339],{},"900ms",[248,341,342],{},"0 Cr"," (free)",", evaluating ",[257,346,347,348,351,352,355,356,359],{},"11 deterministic DOM physics invariants across 8 standard viewports and 2 color themes (",[248,349,350],{},"Midnight"," + ",[248,353,354],{},"Daylight",") = ",[248,357,358],{},"176 \u002F 176"," cell assertions",[361,362,367],"pre",{"className":363,"code":364,"language":365,"meta":366,"style":366},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","chinwag ui-gate --url http:\u002F\u002Flocalhost:3000 --matrix 8x2 --stage 1\n","bash","",[248,368,369],{"__ignoreMap":366},[370,371,374,378,382,385,388,391,394,397],"span",{"class":372,"line":373},"line",1,[370,375,377],{"class":376},"sBMFI","chinwag",[370,379,381],{"class":380},"sfazB"," ui-gate",[370,383,384],{"class":380}," --url",[370,386,387],{"class":380}," http:\u002F\u002Flocalhost:3000",[370,389,390],{"class":380}," --matrix",[370,392,393],{"class":380}," 8x2",[370,395,396],{"class":380}," --stage",[370,398,400],{"class":399},"sbssI"," 1\n",[402,403],"hr",{},[405,406,408],"h2",{"id":407},"the-12-tuple-dom-element-descriptor","The 12-Tuple DOM Element Descriptor",[245,410,411,412,415,416,419],{},"Before evaluating layout invariants, Stage 1 injects a zero-dependency measurement probe into the live Chromium layout tree (",[248,413,414],{},"document.querySelectorAll('*')",") and extracts a compact ",[257,417,418],{},"12-tuple geometric descriptor"," for every visible interactive, typographic, and container node:",[361,421,425],{"className":422,"code":423,"language":424,"meta":366,"style":366},"language-rust shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pub struct DomGeometryTupleV1 {\n    pub selector_hash: u64,          \u002F\u002F 1. Canonical CSS path hash (BLAKE3-64)\n    pub role_class: ElementRoleV1,   \u002F\u002F 2. Heading | Body | Interactive | Nav | Sticky | Card | Media\n    pub x: f32,                      \u002F\u002F 3. Sub-pixel clientRect.left\n    pub y: f32,                      \u002F\u002F 4. Sub-pixel clientRect.top\n    pub width: f32,                  \u002F\u002F 5. Sub-pixel clientRect.width\n    pub height: f32,                 \u002F\u002F 6. Sub-pixel clientRect.height\n    pub scroll_width: f32,           \u002F\u002F 7. scrollWidth (horizontal overflow detector)\n    pub line_box_count: u16,         \u002F\u002F 8. Exact rendered text line count via getClientRects()\n    pub font_size_px: f32,           \u002F\u002F 9. Computed font-size in CSS pixels\n    pub contrast_apca_wcag: f32,     \u002F\u002F 10. Effective foreground\u002Fbackground WCAG 2.2 contrast ratio\n    pub z_stack_tier: i32,           \u002F\u002F 11. Effective stacking context & z-index tier\n    pub hit_target_min_px: f32,      \u002F\u002F 12. Minimum interactive touch\u002Fclick dimension (min(w, h))\n}\n","rust",[248,426,427,432,438,444,450,456,462,468,474,480,486,492,498,504],{"__ignoreMap":366},[370,428,429],{"class":372,"line":373},[370,430,431],{},"pub struct DomGeometryTupleV1 {\n",[370,433,435],{"class":372,"line":434},2,[370,436,437],{},"    pub selector_hash: u64,          \u002F\u002F 1. Canonical CSS path hash (BLAKE3-64)\n",[370,439,441],{"class":372,"line":440},3,[370,442,443],{},"    pub role_class: ElementRoleV1,   \u002F\u002F 2. Heading | Body | Interactive | Nav | Sticky | Card | Media\n",[370,445,447],{"class":372,"line":446},4,[370,448,449],{},"    pub x: f32,                      \u002F\u002F 3. Sub-pixel clientRect.left\n",[370,451,453],{"class":372,"line":452},5,[370,454,455],{},"    pub y: f32,                      \u002F\u002F 4. Sub-pixel clientRect.top\n",[370,457,459],{"class":372,"line":458},6,[370,460,461],{},"    pub width: f32,                  \u002F\u002F 5. Sub-pixel clientRect.width\n",[370,463,465],{"class":372,"line":464},7,[370,466,467],{},"    pub height: f32,                 \u002F\u002F 6. Sub-pixel clientRect.height\n",[370,469,471],{"class":372,"line":470},8,[370,472,473],{},"    pub scroll_width: f32,           \u002F\u002F 7. scrollWidth (horizontal overflow detector)\n",[370,475,477],{"class":372,"line":476},9,[370,478,479],{},"    pub line_box_count: u16,         \u002F\u002F 8. Exact rendered text line count via getClientRects()\n",[370,481,483],{"class":372,"line":482},10,[370,484,485],{},"    pub font_size_px: f32,           \u002F\u002F 9. Computed font-size in CSS pixels\n",[370,487,489],{"class":372,"line":488},11,[370,490,491],{},"    pub contrast_apca_wcag: f32,     \u002F\u002F 10. Effective foreground\u002Fbackground WCAG 2.2 contrast ratio\n",[370,493,495],{"class":372,"line":494},12,[370,496,497],{},"    pub z_stack_tier: i32,           \u002F\u002F 11. Effective stacking context & z-index tier\n",[370,499,501],{"class":372,"line":500},13,[370,502,503],{},"    pub hit_target_min_px: f32,      \u002F\u002F 12. Minimum interactive touch\u002Fclick dimension (min(w, h))\n",[370,505,507],{"class":372,"line":506},14,[370,508,509],{},"}\n",[402,511],{},[405,513,515,516,519,520,523],{"id":514},"the-8-2-viewport-theme-matrix-16-render-surfaces","The ",[248,517,518],{},"8 × 2"," Viewport & Theme Matrix (",[248,521,522],{},"16"," Render Surfaces)",[245,525,526,527,529,530,533,534,529,536,539],{},"Every run sweeps 8 canonical device viewports across both ",[248,528,350],{}," (",[248,531,532],{},"dark",") and ",[248,535,354],{},[248,537,538],{},"light",") color schemes:",[541,542,543,567],"table",{},[544,545,546],"thead",{},[547,548,549,554,561,564],"tr",{},[550,551,553],"th",{"align":552},"left","Viewport ID",[550,555,556,557,560],{"align":552},"Dimensions (",[248,558,559],{},"W × H",")",[550,562,563],{"align":552},"Device Class",[550,565,566],{"align":552},"Primary Failure Modes Caught",[568,569,570,593,615,633,651,672,690,712],"tbody",{},[547,571,572,578,583,586],{},[573,574,575],"td",{"align":552},[248,576,577],{},"V1_ULTRAWIDE",[573,579,580],{"align":552},[248,581,582],{},"1920 × 1080",[573,584,585],{"align":552},"27\" Desktop Monitor",[573,587,588,589,592],{"align":552},"Unbounded prose measure (",[248,590,591],{},"> 75ch","), stretched flex cards",[547,594,595,600,605,608],{},[573,596,597],{"align":552},[248,598,599],{},"V2_DESKTOP",[573,601,602],{"align":552},[248,603,604],{},"1440 × 900",[573,606,607],{"align":552},"15\"\u002F16\" Laptop",[573,609,610,611,614],{"align":552},"Sticky header height overflow (",[248,612,613],{},"> 56px","), multi-column card baseline drift",[547,616,617,622,627,630],{},[573,618,619],{"align":552},[248,620,621],{},"V3_LAPTOP_SM",[573,623,624],{"align":552},[248,625,626],{},"1280 × 800",[573,628,629],{"align":552},"13\" Laptop",[573,631,632],{"align":552},"Topbar nav item collisions, sidebar + TOC squeeze",[547,634,635,640,645,648],{},[573,636,637],{"align":552},[248,638,639],{},"V4_TABLET_LAND",[573,641,642],{"align":552},[248,643,644],{},"1024 × 768",[573,646,647],{"align":552},"Tablet Landscape",[573,649,650],{"align":552},"Grid-to-stack breakpoint orphans, 4-line hero wrapping",[547,652,653,658,663,666],{},[573,654,655],{"align":552},[248,656,657],{},"V5_TABLET_PORT",[573,659,660],{"align":552},[248,661,662],{},"768 × 1024",[573,664,665],{"align":552},"Tablet Portrait",[573,667,668,669,560],{"align":552},"Horizontal table overflow (",[248,670,671],{},"scrollWidth > innerWidth",[547,673,674,679,684,687],{},[573,675,676],{"align":552},[248,677,678],{},"V6_MOBILE_LG",[573,680,681],{"align":552},[248,682,683],{},"430 × 932",[573,685,686],{"align":552},"Large Phone",[573,688,689],{"align":552},"Fixed CTA bar covering footer links, clipped code blocks",[547,691,692,697,702,705],{},[573,693,694],{"align":552},[248,695,696],{},"V7_MOBILE_STD",[573,698,699],{"align":552},[248,700,701],{},"390 × 844",[573,703,704],{"align":552},"Standard Phone",[573,706,707,708,711],{"align":552},"Touch targets ",[248,709,710],{},"\u003C 32px",", clipped modal dialogs",[547,713,714,719,724,727],{},[573,715,716],{"align":552},[248,717,718],{},"V8_MOBILE_SE",[573,720,721],{"align":552},[248,722,723],{},"375 × 812",[573,725,726],{"align":552},"Compact Phone",[573,728,729],{"align":552},"Long unbroken tokens\u002FURLs forcing horizontal scrollbars",[402,731],{},[405,733,735,736,560],{"id":734},"the-11-deterministic-invariants-16-surfaces-11-invariants-176176","The 11 Deterministic Invariants (",[248,737,738],{},"16 Surfaces × 11 Invariants = 176\u002F176",[245,740,741],{},"For each of the 16 viewport-theme surfaces, Stage 1 verifies all 11 mathematical invariants:",[541,743,744,760],{},[544,745,746],{},[547,747,748,751,754,757],{},[550,749,750],{"align":552},"#",[550,752,753],{"align":552},"Invariant ID",[550,755,756],{"align":552},"Mathematical Contract",[550,758,759],{"align":552},"Default Threshold",[568,761,762,785,816,850,887,917,953,984,1006,1032,1061],{},[547,763,764,769,774,779],{},[573,765,766],{"align":552},[257,767,768],{},"1",[573,770,771],{"align":552},[248,772,773],{},"GEO-01-ZERO-HORIZ-BLEED",[573,775,776],{"align":552},[248,777,778],{},"document.documentElement.scrollWidth \u003C= window.innerWidth",[573,780,781,784],{"align":552},[248,782,783],{},"0px"," tolerance across all 8 viewports",[547,786,787,791,796,811],{},[573,788,789],{"align":552},[257,790,282],{},[573,792,793],{"align":552},[248,794,795],{},"GEO-02-TOPBAR-BUDGET",[573,797,798,799,802,803,806,807,810],{"align":552},"Sticky ",[248,800,801],{},"\u003Cheader>"," height ",[248,804,805],{},"H_header \u003C= 56px"," and ",[248,808,809],{},"line_box_count == 1"," on desktop",[573,812,813],{"align":552},[248,814,815],{},"\u003C= 56px",[547,817,818,823,828,844],{},[573,819,820],{"align":552},[257,821,822],{},"3",[573,824,825],{"align":552},[248,826,827],{},"GEO-03-SIBLING-DISJOINT",[573,829,830,831,833,834,833,837,840,841],{"align":552},"Sibling interactive controls (",[248,832,296],{},", ",[248,835,836],{},"button",[248,838,839],{},"input",") have intersection area ",[248,842,843],{},"Area(A ∩ B) == 0",[573,845,846,849],{"align":552},[248,847,848],{},"0 sq px"," overlap",[547,851,852,857,862,881],{},[573,853,854],{"align":552},[257,855,856],{},"4",[573,858,859],{"align":552},[248,860,861],{},"GEO-04-HEADING-LINE-CAP",[573,863,864,865,868,869,529,872,533,875,529,878,560],{"align":552},"Display ",[248,866,867],{},"\u003Ch1>"," line count ",[248,870,871],{},"\u003C= 3",[248,873,874],{},">= 1024px",[248,876,877],{},"\u003C= 4",[248,879,880],{},"\u003C 1024px",[573,882,883,886],{"align":552},[248,884,885],{},"3 \u002F 4"," lines max",[547,888,889,894,899,912],{},[573,890,891],{"align":552},[257,892,893],{},"5",[573,895,896],{"align":552},[248,897,898],{},"GEO-05-PROSE-MEASURE",[573,900,901,902,806,905,908,909,810],{"align":552},"Body copy ",[248,903,904],{},"\u003Cp>",[248,906,907],{},"\u003Cli>"," line width stays within readable measure ",[248,910,911],{},"[45ch, 78ch]",[573,913,914],{"align":552},[248,915,916],{},"45ch .. 78ch",[547,918,919,924,929,944],{},[573,920,921],{"align":552},[257,922,923],{},"6",[573,925,926],{"align":552},[248,927,928],{},"GEO-06-CONTRAST-FLOOR",[573,930,931,932,935,936,939,940,806,942],{"align":552},"Body text contrast ",[248,933,934],{},">= 4.5:1"," (WCAG AA) and large display text ",[248,937,938],{},">= 3.0:1"," in both ",[248,941,350],{},[248,943,354],{},[573,945,946,949,950],{"align":552},[248,947,948],{},"4.5:1"," \u002F ",[248,951,952],{},"3.0:1",[547,954,955,960,965,976],{},[573,956,957],{"align":552},[257,958,959],{},"7",[573,961,962],{"align":552},[248,963,964],{},"GEO-07-HIT-TARGET-MIN",[573,966,967,968,971,972,975],{"align":552},"Interactive buttons, nav links, and toggles meet minimum target bounds (",[248,969,970],{},"height >= 32px"," desktop, ",[248,973,974],{},">= 36px"," mobile)",[573,977,978,949,981],{"align":552},[248,979,980],{},"32px",[248,982,983],{},"36px",[547,985,986,990,995,1002],{},[573,987,988],{"align":552},[257,989,278],{},[573,991,992],{"align":552},[248,993,994],{},"GEO-08-CARD-GRID-ALIGNMENT",[573,996,997,998,1001],{"align":552},"Equal-row CSS Grid \u002F Flex sibling cards align top\u002Fbottom edges within ",[248,999,1000],{},"\u003C= 1.5px"," sub-pixel tolerance",[573,1003,1004],{"align":552},[248,1005,1000],{},[547,1007,1008,1013,1018,1025],{},[573,1009,1010],{"align":552},[257,1011,1012],{},"9",[573,1014,1015],{"align":552},[248,1016,1017],{},"GEO-09-STICKY-OCCLUSION",[573,1019,1020,1021,1024],{"align":552},"Focused elements and ",[248,1022,1023],{},":target"," anchors are never occluded by `position: sticky",[573,1026,1027,1028,1031],{"align":552},"fixed",[248,1029,1030],{}," chrome (","scroll-margin-top` verified)",[547,1033,1034,1039,1044,1058],{},[573,1035,1036],{"align":552},[257,1037,1038],{},"10",[573,1040,1041],{"align":552},[248,1042,1043],{},"GEO-10-CODE-TABLE-SCROLL",[573,1045,1046,1047,806,1050,1053,1054,1057],{"align":552},"Wide ",[248,1048,1049],{},"\u003Cpre>",[248,1051,1052],{},"\u003Ctable>"," containers capture horizontal scroll internally (",[248,1055,1056],{},"overflow-x: auto",") without stretching the page viewport",[573,1059,1060],{"align":552},"Contained scroll",[547,1062,1063,1068,1073,1080],{},[573,1064,1065],{"align":552},[257,1066,1067],{},"11",[573,1069,1070],{"align":552},[248,1071,1072],{},"GEO-11-TABULAR-NUMERALS",[573,1074,1075,1076,1079],{"align":552},"Numeric badges, prices, metrics, and table cells enforce ",[248,1077,1078],{},"font-variant-numeric: tabular-nums"," to prevent jitter",[573,1081,1082],{"align":552},[248,1083,1084],{},"tabular-nums",[402,1086],{},[405,1088,1090],{"id":1089},"stage-1-cli-output-example","Stage 1 CLI Output Example",[245,1092,1093,1094,1096],{},"When a layout bug occurs on a single breakpoint, ",[248,1095,324],{}," pinpoints the exact selector, viewport, theme, and sub-pixel coordinates:",[361,1098,1103],{"className":1099,"code":1101,"language":1102,"meta":366},[1100],"language-text","$ chinwag ui-gate --url http:\u002F\u002Flocalhost:3000\u002Fpricing --stage 1\n[ui-gate] Sweeping 8 viewports × 2 themes (16 surfaces × 11 invariants = 176 checks)...\n  ✗ FAIL [GEO-01-ZERO-HORIZ-BLEED] at V8_MOBILE_SE (375×812 · Daylight)\n    Selector: section.pricing-matrix > table.credit-schedule\n    Measured: document.scrollWidth = 442px > window.innerWidth = 375px (+67px overflow)\n  ✗ FAIL [GEO-06-CONTRAST-FLOOR] at V2_DESKTOP (1440×900 · Daylight)\n    Selector: .tier-card .muted-footnote\n    Measured: contrast = 3.41:1 \u003C 4.50:1 required (#7A8291 on #F4F2ED)\n[ui-gate] Result: 174\u002F176 PASSED (2 deterministic geometry failures in 640ms · 0 Cr)\n","text",[248,1104,1101],{"__ignoreMap":366},[402,1106],{},[405,1108,1110],{"id":1109},"next-step-multimodal-vision-3-inspection-auto-patch","Next Step: Multimodal Vision-3 Inspection & Auto-Patch",[245,1112,1113,1114,1116,1117,1119],{},"Once Stage 1 (",[248,1115,274],{},") passes, ",[248,1118,324],{}," advances to Stage 2 and Stage 3 (Chinwag Vision-3 visual geometry audit and CSS auto-patch synthesis).",[1121,1122,1123,1133],"ul",{},[1124,1125,1126,1129,1130],"li",{},[257,1127,1128],{},"Next:"," ",[296,1131,1132],{"href":79},"Stage 2 & 3: Chinwag Vision-3 Visual Geometry & CSS Auto-Patch",[1124,1134,1135,1129,1138],{},[257,1136,1137],{},"Ready to automate UI verification across your repo?",[296,1139,1142],{"href":1140,"rel":1141},"https:\u002F\u002Fchinwag.sh\u002Fpricing",[306],"Reserve Your Organization Credit Pack →",[1144,1145,1146],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":366,"searchDepth":434,"depth":434,"links":1148},[1149,1150,1152,1154,1155],{"id":407,"depth":434,"text":408},{"id":514,"depth":434,"text":1151},"The 8 × 2 Viewport & Theme Matrix (16 Render Surfaces)",{"id":734,"depth":434,"text":1153},"The 11 Deterministic Invariants (16 Surfaces × 11 Invariants = 176\u002F176)",{"id":1089,"depth":434,"text":1090},{"id":1109,"depth":434,"text":1110},"How chinwag ui-gate evaluates 11 mathematical bounding-box, typography, and contrast invariants across 8 viewports and 2 themes in under 900ms locally at 0 Cr.","md",null,{},{"title":74},{"title":236,"description":1156},"sGQmve_VWGd4qdAlnQl1DZCinWcnNBEKreCD-mWp3MM",[1164,1166],{"title":65,"path":66,"stem":67,"description":1165,"children":-1},"Deep dive into Hooks H1..H5, why a 1-byte post-review edit triggers WP-04 Stale Evidence, and why Policy Satisfied never grants automatic merge authority (WP-06).",{"title":78,"path":79,"stem":80,"description":1167,"children":-1},"Patent-pending 3-stage visual bug detection and autonomous CSS\u002FHTML patch synthesis powered by Chinwag Vision-3.",1794371826571]