=== must-not-hit:两臂单变量自证 === diff 处数 = 1 ok=true $.children.1.absoluteBoundingBox.height: Y=1077 X=900 === 事后追加两臂的单变量自证(只许差 componentId)=== Z vs X diff = [{"path":"$.children.1.children.0.componentId","y":"comp:B","x":"comp:A"}] W vs Y diff = [{"path":"$.children.1.children.0.componentId","y":"comp:B","x":"comp:A"}] === 臂 Y (等高 1228x1077 / 1228x1077 · 组件集不同) === H1/H5 n_grp = 1 sizes=["1228x1077"] frames=[["sf:1","sf:2"]] H2/H5 counts = {"G1":0,"G2":1,"G3":0} scanned={"controls":2,"buttons":0} H4 inScopeIds = ["c:1","c:2"] H4 has = {"c:1":true,"c:2":true,"sf:1":false,"sf:2":false,"P":false} H6 复刻 exit(无 probe) = 1 printsPass=false over=["G2 1>0"] H7 复刻 --probe c:1 ⇒ probeFailed=false exit=1 H8 复刻 --probe sf:2 ⇒ probeFailed=true exit=2 H8' 复刻 --probe sf:1 ⇒ probeFailed=true exit=2 G2 finding: [{"probe":"G2","parent":"Feature P","stateFrameSize":"1228x1077","control":"Ctrl","widths":[418,480],"nodes":[{"id":"c:1","frame":"State A","width":418},{"id":"c:2","frame":"State B","width":480}]}] === 臂 X (同宽不等高 1228x1077 / 1228x900 · 组件集不同) === H1/H5 n_grp = 0 sizes=[] frames=[] H2/H5 counts = {"G1":0,"G2":0,"G3":0} scanned={"controls":2,"buttons":0} H4 inScopeIds = ["c:1","c:2"] H4 has = {"c:1":true,"c:2":true,"sf:1":false,"sf:2":false,"P":false} H6 复刻 exit(无 probe) = 0 printsPass=true over=[] H7 复刻 --probe c:1 ⇒ probeFailed=false exit=0 H8 复刻 --probe sf:2 ⇒ probeFailed=true exit=2 H8' 复刻 --probe sf:1 ⇒ probeFailed=true exit=2 === 臂 W [事后追加] (等高 · 组件集【相同】) === H1/H5 n_grp = 1 sizes=["1228x1077"] frames=[["sf:1","sf:2"]] H2/H5 counts = {"G1":1,"G2":1,"G3":0} scanned={"controls":2,"buttons":0} H4 inScopeIds = ["c:1","c:2"] H4 has = {"c:1":true,"c:2":true,"sf:1":false,"sf:2":false,"P":false} H6 复刻 exit(无 probe) = 1 printsPass=false over=["G1 1>0","G2 1>0"] H7 复刻 --probe c:1 ⇒ probeFailed=false exit=1 H8 复刻 --probe sf:2 ⇒ probeFailed=true exit=2 H8' 复刻 --probe sf:1 ⇒ probeFailed=true exit=2 G2 finding: [{"probe":"G2","parent":"Feature P","stateFrameSize":"1228x1077","control":"Ctrl","widths":[418,480],"nodes":[{"id":"c:1","frame":"State A","width":418},{"id":"c:2","frame":"State B","width":480}]}] G1 finding: [{"probe":"G1","label":"select box/filled","widths":[418,480],"count":2,"nodes":[{"id":"c:1","name":"Ctrl","width":418,"frame":"State A"},{"id":"c:2","name":"Ctrl","width":480,"frame":"State B"}]}] === 臂 Z [事后追加] (同宽不等高 · 组件集【相同】) === H1/H5 n_grp = 0 sizes=[] frames=[] H2/H5 counts = {"G1":1,"G2":0,"G3":0} scanned={"controls":2,"buttons":0} H4 inScopeIds = ["c:1","c:2"] H4 has = {"c:1":true,"c:2":true,"sf:1":false,"sf:2":false,"P":false} H6 复刻 exit(无 probe) = 1 printsPass=false over=["G1 1>0"] H7 复刻 --probe c:1 ⇒ probeFailed=false exit=1 H8 复刻 --probe sf:2 ⇒ probeFailed=true exit=2 H8' 复刻 --probe sf:1 ⇒ probeFailed=true exit=2 G1 finding: [{"probe":"G1","label":"select box/filled","widths":[418,480],"count":2,"nodes":[{"id":"c:1","name":"Ctrl","width":418,"frame":"State A"},{"id":"c:2","name":"Ctrl","width":480,"frame":"State B"}]}] === 臂 V [事后追加] (同宽不等高 · 组件集相同 · 但 baseline.G1=1) === H1/H5 n_grp = 0 sizes=[] frames=[] H2/H5 counts = {"G1":1,"G2":0,"G3":0} scanned={"controls":2,"buttons":0} H4 inScopeIds = ["c:1","c:2"] H4 has = {"c:1":true,"c:2":true,"sf:1":false,"sf:2":false,"P":false} H6 复刻 exit(无 probe) = 0 printsPass=true over=[] H7 复刻 --probe c:1 ⇒ probeFailed=false exit=0 H8 复刻 --probe sf:2 ⇒ probeFailed=true exit=2 H8' 复刻 --probe sf:1 ⇒ probeFailed=true exit=2 G1 finding: [{"probe":"G1","label":"select box/filled","widths":[418,480],"count":2,"nodes":[{"id":"c:1","name":"Ctrl","width":418,"frame":"State A"},{"id":"c:2","name":"Ctrl","width":480,"frame":"State B"}]}] 证据物已写:/Users/nancy/Documents/AICoding/VS_Code/ai-ds-lab/runs/probe-blindspot-evidence/evidence.json