[{"data":1,"prerenderedAt":706},["ShallowReactive",2],{"$fz5V68BcszTvh1UMXDRtxhxoW1lWLmb2wtiPVTTfB9JQ":3},{"newThing":4,"project":5,"cycle":8,"sections":23,"threads":695,"otherDocs":696,"documents":699,"images":703,"archiveItems":704,"links":705},null,{"id":6,"label":7,"liveBase":4},"qnative","Qnative (provisional)",{"id":9,"num":10,"dir":11,"name":12,"title":13,"focus":14,"status":15,"statusNote":16,"created":17,"completed":4,"mode":18,"report":4,"recordless":19,"thumbnail":4,"imageCount":20,"artifactCount":21,"lastActivity":17,"hasPickup":19,"hasInitialPrompt":22},"c8",8,"c8.qguikit-cleanup","qguikit-cleanup","QGUIkit Cleanup","design c140's code rulings, in Mark's order (D14):","active","kicked off 2026-11-12 — answers `design:c140` D14; steps 1–2 built the same day: the crate renamed `qguikit`, the token bridge moved here and checked in CI, six flaws fixed, the port specs committed; at review stop 1 with three calls; pushed 2026-11-12 on Mark's word","2026-11-12","formula (rulings applied as written), with evolution where a rename meets real code.",false,0,2,true,[24,82,284,455,685],{"key":25,"title":26,"empty":19,"ast":27},"why","Why",{"type":28,"children":29},"root",[30,47,77],{"type":31,"tag":32,"props":33,"children":34},"element","p",{},[35,38,45],{"type":36,"value":37},"text","Design c140 scored QGUIkit against twenty principles: our component system as drawn here in Rust on GPUI, the second surface beside the Vue one in ",{"type":31,"tag":39,"props":40,"children":42},"code",{"className":41},[],[43],{"type":36,"value":44},"q-nuxt-layer",{"type":36,"value":46},". Where a machine holds the work, the surface is sound. Where a person was meant to remember, it is soft:",{"type":31,"tag":48,"props":49,"children":50},"ul",{},[51,57,62,67,72],{"type":31,"tag":52,"props":53,"children":54},"li",{},[55],{"type":36,"value":56},"type and radius set by literals;",{"type":31,"tag":52,"props":58,"children":59},{},[60],{"type":36,"value":61},"a crate that holds an engine, a registry, the docs and a parser beside its components;",{"type":31,"tag":52,"props":63,"children":64},{},[65],{"type":36,"value":66},"names that half follow the web's;",{"type":31,"tag":52,"props":68,"children":69},{},[70],{"type":36,"value":71},"a scorecard stale within a day;",{"type":31,"tag":52,"props":73,"children":74},{},[75],{"type":36,"value":76},"small flaws only a reader found.",{"type":31,"tag":32,"props":78,"children":79},{},[80],{"type":36,"value":81},"Mark ruled the fixes on 2026-11-12. This cycle carries them, so the next page ported here starts from a crate that matches its name and the web's vocabulary.",{"key":83,"title":84,"empty":19,"ast":85},"objective","Objective",{"type":28,"children":86},[87,92],{"type":31,"tag":32,"props":88,"children":89},{},[90],{"type":36,"value":91},"Done means:",{"type":31,"tag":93,"props":94,"children":95},"ol",{},[96,131,194,225,243],{"type":31,"tag":52,"props":97,"children":98},{},[99,105,107,113,115,121,123,129],{"type":31,"tag":100,"props":101,"children":102},"strong",{},[103],{"type":36,"value":104},"D2:",{"type":36,"value":106}," the crate is ",{"type":31,"tag":39,"props":108,"children":110},{"className":109},[],[111],{"type":36,"value":112},"crates\u002Fqguikit",{"type":36,"value":114},", and every ",{"type":31,"tag":39,"props":116,"children":118},{"className":117},[],[119],{"type":36,"value":120},"use layer::",{"type":36,"value":122}," is ",{"type":31,"tag":39,"props":124,"children":126},{"className":125},[],[127],{"type":36,"value":128},"use qguikit::",{"type":36,"value":130},". The docs say what QGUIkit is.",{"type":31,"tag":52,"props":132,"children":133},{},[134,139,185,189],{"type":31,"tag":100,"props":135,"children":136},{},[137],{"type":36,"value":138},"D13:",{"type":31,"tag":48,"props":140,"children":141},{},[142,155,167,172],{"type":31,"tag":52,"props":143,"children":144},{},[145,147,153],{"type":36,"value":146},"the port specs are committed in ",{"type":31,"tag":39,"props":148,"children":150},{"className":149},[],[151],{"type":36,"value":152},"cycles\u002Fc2.expressive-range\u002Fspecs\u002F",{"type":36,"value":154},";",{"type":31,"tag":52,"props":156,"children":157},{},[158,160,166],{"type":36,"value":159},"design's bridge fixture carries ",{"type":31,"tag":39,"props":161,"children":163},{"className":162},[],[164],{"type":36,"value":165},"it_contact",{"type":36,"value":154},{"type":31,"tag":52,"props":168,"children":169},{},[170],{"type":36,"value":171},"the six flaws are fixed;",{"type":31,"tag":52,"props":173,"children":174},{},[175,177,183],{"type":36,"value":176},"the token bridge has a ",{"type":31,"tag":39,"props":178,"children":180},{"className":179},[],[181],{"type":36,"value":182},"--check",{"type":36,"value":184}," mode, and CI runs it.",{"type":31,"tag":186,"props":187,"children":188},"br",{},[],{"type":31,"tag":100,"props":190,"children":191},{},[192],{"type":36,"value":193},"Review stop 1.",{"type":31,"tag":52,"props":195,"children":196},{},[197,202],{"type":31,"tag":100,"props":198,"children":199},{},[200],{"type":36,"value":201},"D9:",{"type":31,"tag":48,"props":203,"children":204},{},[205,210,215,220],{"type":31,"tag":52,"props":206,"children":207},{},[208],{"type":36,"value":209},"the tour engine, the harness registry and the git-remote parser are out of the component crate;",{"type":31,"tag":52,"props":211,"children":212},{},[213],{"type":36,"value":214},"the doc pages are in a docs crate;",{"type":31,"tag":52,"props":216,"children":217},{},[218],{"type":36,"value":219},"the seven pantry pieces from the pages are in;",{"type":31,"tag":52,"props":221,"children":222},{},[223],{"type":36,"value":224},"there is one of each format helper.",{"type":31,"tag":52,"props":226,"children":227},{},[228,233,235,241],{"type":31,"tag":100,"props":229,"children":230},{},[231],{"type":36,"value":232},"D8:",{"type":36,"value":234}," every component carries its Vue name, with a deprecated alias for one release, and the scorecard has a ",{"type":31,"tag":39,"props":236,"children":238},{"className":237},[],[239],{"type":36,"value":240},"rust",{"type":36,"value":242}," column.",{"type":31,"tag":52,"props":244,"children":245},{},[246,251,274,277,282],{"type":31,"tag":100,"props":247,"children":248},{},[249],{"type":36,"value":250},"D5:",{"type":31,"tag":48,"props":252,"children":253},{},[254,259,264,269],{"type":31,"tag":52,"props":255,"children":256},{},[257],{"type":36,"value":258},"type and radius via tokens;",{"type":31,"tag":52,"props":260,"children":261},{},[262],{"type":36,"value":263},"motion tokens on both surfaces;",{"type":31,"tag":52,"props":265,"children":266},{},[267],{"type":36,"value":268},"the colour leftovers given roles;",{"type":31,"tag":52,"props":270,"children":271},{},[272],{"type":36,"value":273},"the lint in CI.",{"type":31,"tag":186,"props":275,"children":276},{},[],{"type":31,"tag":100,"props":278,"children":279},{},[280],{"type":36,"value":281},"Review stop 2",{"type":36,"value":283},", with the budget against c2's readings.",{"key":285,"title":286,"empty":19,"ast":287},"scope","Scope",{"type":28,"children":288},[289],{"type":31,"tag":48,"props":290,"children":291},{},[292,338,393,411],{"type":31,"tag":52,"props":293,"children":294},{},[295,300,302,308,310,315,317,323,324,330,331,336],{"type":31,"tag":100,"props":296,"children":297},{},[298],{"type":36,"value":299},"This repo:",{"type":36,"value":301}," every crate (the rename), ",{"type":31,"tag":39,"props":303,"children":305},{"className":304},[],[306],{"type":36,"value":307},"crates\u002Flayer",{"type":36,"value":309}," → ",{"type":31,"tag":39,"props":311,"children":313},{"className":312},[],[314],{"type":36,"value":112},{"type":36,"value":316},", ",{"type":31,"tag":39,"props":318,"children":320},{"className":319},[],[321],{"type":36,"value":322},"crates\u002Fapp\u002Fsrc\u002Fpages\u002F*",{"type":36,"value":316},{"type":31,"tag":39,"props":325,"children":327},{"className":326},[],[328],{"type":36,"value":329},".github\u002Fworkflows\u002Fbuild.yml",{"type":36,"value":316},{"type":31,"tag":39,"props":332,"children":334},{"className":333},[],[335],{"type":36,"value":152},{"type":36,"value":337},".",{"type":31,"tag":52,"props":339,"children":340},{},[341,346],{"type":31,"tag":100,"props":342,"children":343},{},[344],{"type":36,"value":345},"Design (named files only):",{"type":31,"tag":48,"props":347,"children":348},{},[349,367,377,388],{"type":31,"tag":52,"props":350,"children":351},{},[352,358,360,366],{"type":31,"tag":39,"props":353,"children":355},{"className":354},[],[356],{"type":36,"value":357},"app\u002Fdata\u002Fworlds\u002Fbridge\u002Fpilot.json",{"type":36,"value":359}," and ",{"type":31,"tag":39,"props":361,"children":363},{"className":362},[],[364],{"type":36,"value":365},"types.ts",{"type":36,"value":154},{"type":31,"tag":52,"props":368,"children":369},{},[370,376],{"type":31,"tag":39,"props":371,"children":373},{"className":372},[],[374],{"type":36,"value":375},"scripts\u002Ftokens-to-kit.mjs",{"type":36,"value":154},{"type":31,"tag":52,"props":378,"children":379},{},[380,386],{"type":31,"tag":39,"props":381,"children":383},{"className":382},[],[384],{"type":36,"value":385},"brand\u002Fcomponent_philosophy.md",{"type":36,"value":387},"'s motion rule (step 5);",{"type":31,"tag":52,"props":389,"children":390},{},[391],{"type":36,"value":392},"c140's records.",{"type":31,"tag":52,"props":394,"children":395},{},[396,401,403,409],{"type":31,"tag":100,"props":397,"children":398},{},[399],{"type":36,"value":400},"The layer (step 5 only):",{"type":36,"value":402}," motion tokens in ",{"type":31,"tag":39,"props":404,"children":406},{"className":405},[],[407],{"type":36,"value":408},"tokens.json",{"type":36,"value":410},", released with Mark's word.",{"type":31,"tag":52,"props":412,"children":413},{},[414,419],{"type":31,"tag":100,"props":415,"children":416},{},[417],{"type":36,"value":418},"Out:",{"type":31,"tag":48,"props":420,"children":421},{},[422,427,432,437],{"type":31,"tag":52,"props":423,"children":424},{},[425],{"type":36,"value":426},"the slot APIs (design c140 D6: named now, refactored when a component is next touched);",{"type":31,"tag":52,"props":428,"children":429},{},[430],{"type":36,"value":431},"keyboard and focus (D7: after V1);",{"type":31,"tag":52,"props":433,"children":434},{},[435],{"type":36,"value":436},"the parity register (design c141);",{"type":31,"tag":52,"props":438,"children":439},{},[440,446,447,453],{"type":31,"tag":39,"props":441,"children":443},{"className":442},[],[444],{"type":36,"value":445},"\u002Fnative-port",{"type":36,"value":359},{"type":31,"tag":39,"props":448,"children":450},{"className":449},[],[451],{"type":36,"value":452},"spec-measure",{"type":36,"value":454}," (design, built in the same session).",{"key":456,"title":457,"empty":19,"ast":458},"key-changes","Key Changes",{"type":28,"children":459},[460],{"type":31,"tag":48,"props":461,"children":462},{},[463,481,532,652],{"type":31,"tag":52,"props":464,"children":465},{},[466,471,473,479],{"type":31,"tag":100,"props":467,"children":468},{},[469],{"type":36,"value":470},"Kick-off (2026-11-12):",{"type":36,"value":472}," the cycle opened from design c140 D14. Before it started, ",{"type":31,"tag":39,"props":474,"children":476},{"className":475},[],[477],{"type":36,"value":478},"main",{"type":36,"value":480}," was fast-forwarded to c7 Web Rail (900578f, PR qpoint-io\u002Fqnative#1) on Mark's ruling \"Merge c7, then clean up\". Nothing was pushed.",{"type":31,"tag":52,"props":482,"children":483},{},[484,497],{"type":31,"tag":100,"props":485,"children":486},{},[487,489,495],{"type":36,"value":488},"Step 1, the name (2026-11-12, ",{"type":31,"tag":39,"props":490,"children":492},{"className":491},[],[493],{"type":36,"value":494},"a5ca520",{"type":36,"value":496},", D2):",{"type":31,"tag":48,"props":498,"children":499},{},[500,516,527],{"type":31,"tag":52,"props":501,"children":502},{},[503,508,509,514],{"type":31,"tag":39,"props":504,"children":506},{"className":505},[],[507],{"type":36,"value":307},{"type":36,"value":309},{"type":31,"tag":39,"props":510,"children":512},{"className":511},[],[513],{"type":36,"value":112},{"type":36,"value":515},", with 270 paths in 40 files.",{"type":31,"tag":52,"props":517,"children":518},{},[519,525],{"type":31,"tag":39,"props":520,"children":522},{"className":521},[],[523],{"type":36,"value":524},"lib.rs",{"type":36,"value":526}," says what QGUIkit is.",{"type":31,"tag":52,"props":528,"children":529},{},[530],{"type":36,"value":531},"The workspace builds clean.",{"type":31,"tag":52,"props":533,"children":534},{},[535,540],{"type":31,"tag":100,"props":536,"children":537},{},[538],{"type":36,"value":539},"Step 2, the small items (2026-11-12, D13):",{"type":31,"tag":48,"props":541,"children":542},{},[543,576,594,618,630,635],{"type":31,"tag":52,"props":544,"children":545},{},[546,551,553,558,560,566,568,574],{"type":31,"tag":100,"props":547,"children":548},{},[549],{"type":36,"value":550},"The token bridge",{"type":36,"value":552}," moved here from design, with ",{"type":31,"tag":39,"props":554,"children":556},{"className":555},[],[557],{"type":36,"value":182},{"type":36,"value":559}," and CI's ",{"type":31,"tag":39,"props":561,"children":563},{"className":562},[],[564],{"type":36,"value":565},"tokens",{"type":36,"value":567}," job (",{"type":31,"tag":39,"props":569,"children":571},{"className":570},[],[572],{"type":36,"value":573},"8b1af18",{"type":36,"value":575},"). Design's private repo was out of reach for CI, and the layer is public. Design keeps a wrapper.",{"type":31,"tag":52,"props":577,"children":578},{},[579,584,586,592],{"type":31,"tag":100,"props":580,"children":581},{},[582],{"type":36,"value":583},"Six flaws fixed",{"type":36,"value":585}," (",{"type":31,"tag":39,"props":587,"children":589},{"className":588},[],[590],{"type":36,"value":591},"be4545f",{"type":36,"value":593},").",{"type":31,"tag":52,"props":595,"children":596},{},[597,602,604,609,611,617],{"type":31,"tag":100,"props":598,"children":599},{},[600],{"type":36,"value":601},"The ten port specs",{"type":36,"value":603}," committed in ",{"type":31,"tag":39,"props":605,"children":607},{"className":606},[],[608],{"type":36,"value":152},{"type":36,"value":610},", and the bridge's source said (",{"type":31,"tag":39,"props":612,"children":614},{"className":613},[],[615],{"type":36,"value":616},"bc60635",{"type":36,"value":593},{"type":31,"tag":52,"props":619,"children":620},{},[621,623,628],{"type":36,"value":622},"In design (uncommitted): the bridge fixture's ",{"type":31,"tag":39,"props":624,"children":626},{"className":625},[],[627],{"type":36,"value":165},{"type":36,"value":629}," synced back, the wrapper, and c140's qdash todo #4.",{"type":31,"tag":52,"props":631,"children":632},{},[633],{"type":36,"value":634},"175 tests pass.",{"type":31,"tag":52,"props":636,"children":637},{},[638,643,645,650],{"type":31,"tag":100,"props":639,"children":640},{},[641],{"type":36,"value":642},"The merge thread was still active:",{"type":36,"value":644}," it squash-merged c7 as e3ffc94 and reset ",{"type":31,"tag":39,"props":646,"children":648},{"className":647},[],[649],{"type":36,"value":478},{"type":36,"value":651}," to it between this cycle's fast-forward and its first commit. The trees are identical.",{"type":31,"tag":52,"props":653,"children":654},{},[655,660,662,667,669,675,677,683],{"type":31,"tag":100,"props":656,"children":657},{},[658],{"type":36,"value":659},"Pushed (2026-11-12, design c143):",{"type":36,"value":661}," on Mark's word (\"push this and anything else outstanding\"), steps 1–2 (",{"type":31,"tag":39,"props":663,"children":665},{"className":664},[],[666],{"type":36,"value":494},{"type":36,"value":668}," … ",{"type":31,"tag":39,"props":670,"children":672},{"className":671},[],[673],{"type":36,"value":674},"40be83f",{"type":36,"value":676},") went to ",{"type":31,"tag":39,"props":678,"children":680},{"className":679},[],[681],{"type":36,"value":682},"origin\u002Fmain",{"type":36,"value":684}," with the commits stacked on them. Review stop 1's three calls stay open.",{"key":686,"title":687,"empty":19,"ast":688},"outcome","Outcome",{"type":28,"children":689},[690],{"type":31,"tag":691,"props":692,"children":694},"filled",{"in":693,"at":693,"close.":693},"",[],[],[697,698],"initial-prompt.md","review-1.md",[700,701],{"file":697,"title":13},{"file":698,"title":702},"review stop 1: the name, the bridge, the small items",[],[],[],1794599471420]