[{"data":1,"prerenderedAt":348},["ShallowReactive",2],{"cycle-doc-design-c138-research\u002FREADME.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":16},{"id":5,"title":6},"c138","Developer Mode",{"id":8,"label":9},"design","Design","research\u002FREADME.md","c138 research: the two tools being replicated",[13,14,15],"What they were read from","How far to trust them","What the plan took from them",{"type":17,"children":18},"root",[19,27,114,120,201,213,226,231,315,320,343],{"type":20,"tag":21,"props":22,"children":23},"element","p",{},[24],{"type":25,"value":26},"text","Two surveys of the code, made on 2026-11-11 for this cycle's plan. Each is a reading at one commit, kept so the Live, Events and Monitor phases start from it instead of reading the code again.",{"type":20,"tag":28,"props":29,"children":30},"table",{},[31,55],{"type":20,"tag":32,"props":33,"children":34},"thead",{},[35],{"type":20,"tag":36,"props":37,"children":38},"tr",{},[39,45,50],{"type":20,"tag":40,"props":41,"children":42},"th",{},[43],{"type":25,"value":44},"File",{"type":20,"tag":40,"props":46,"children":47},{},[48],{"type":25,"value":49},"What it holds",{"type":20,"tag":40,"props":51,"children":52},{},[53],{"type":25,"value":54},"Feeds",{"type":20,"tag":56,"props":57,"children":58},"tbody",{},[59,83],{"type":20,"tag":36,"props":60,"children":61},{},[62,73,78],{"type":20,"tag":63,"props":64,"children":65},"td",{},[66],{"type":20,"tag":67,"props":68,"children":70},"a",{"href":69},"\u002Fcycles\u002Fdesign\u002Fc138\u002Fdoc\u002Fresearch\u002Flive-viewer",[71],{"type":25,"value":72},"live-viewer.md",{"type":20,"tag":63,"props":74,"children":75},{},[76],{"type":25,"value":77},"qdash's Live Activity page region by region; the stream contract; the event envelope and families; the client pipeline and its costs; the drift between the web page and the sensor's current schema; seventeen weaknesses, ranked; which modules port to Rust",{"type":20,"tag":63,"props":79,"children":80},{},[81],{"type":25,"value":82},"Phase 3 (Live), Phase 4 (Events), Guide page 3",{"type":20,"tag":36,"props":84,"children":85},{},[86,95,109],{"type":20,"tag":63,"props":87,"children":88},{},[89],{"type":20,"tag":67,"props":90,"children":92},{"href":91},"\u002Fcycles\u002Fdesign\u002Fc138\u002Fdoc\u002Fresearch\u002Fmonitor-tui",[93],{"type":25,"value":94},"monitor-tui.md",{"type":20,"tag":63,"props":96,"children":97},{},[98,100,107],{"type":25,"value":99},"Kamal's monitor TUI tab by tab; where every number comes from; what another process can and cannot read today; the ",{"type":20,"tag":101,"props":102,"children":104},"code",{"className":103},[],[105],{"type":25,"value":106},"tui",{"type":25,"value":108}," feature gate; what to keep, drop and improve",{"type":20,"tag":63,"props":110,"children":111},{},[112],{"type":25,"value":113},"Phase 5 (Monitor), Guide page 4",{"type":20,"tag":115,"props":116,"children":118},"h2",{"id":117},"what-they-were-read-from",[119],{"type":25,"value":13},{"type":20,"tag":121,"props":122,"children":123},"ul",{},[124,160],{"type":20,"tag":125,"props":126,"children":127},"li",{},[128,134,136,142,144,150,152,158],{"type":20,"tag":129,"props":130,"children":131},"strong",{},[132],{"type":25,"value":133},"The live viewer's UI:",{"type":25,"value":135}," ",{"type":20,"tag":101,"props":137,"children":139},{"className":138},[],[140],{"type":25,"value":141},"..\u002Fqcontrol\u002Fcrates\u002Fqdash\u002Fui\u002Fapp\u002F",{"type":25,"value":143}," on ",{"type":20,"tag":101,"props":145,"children":147},{"className":146},[],[148],{"type":25,"value":149},"feat\u002Fnew-pages",{"type":25,"value":151}," (",{"type":20,"tag":101,"props":153,"children":155},{"className":154},[],[156],{"type":25,"value":157},"28182424c",{"type":25,"value":159},").",{"type":20,"tag":125,"props":161,"children":162},{},[163,168,170,176,178,184,186,192,194,199],{"type":20,"tag":129,"props":164,"children":165},{},[166],{"type":25,"value":167},"The backend and the TUI:",{"type":25,"value":169}," qcontrol ",{"type":20,"tag":101,"props":171,"children":173},{"className":172},[],[174],{"type":25,"value":175},"origin\u002Fmain",{"type":25,"value":177}," at ",{"type":20,"tag":101,"props":179,"children":181},{"className":180},[],[182],{"type":25,"value":183},"9e6cd55a0",{"type":25,"value":185}," (2026-11-10). The TUI is on ",{"type":20,"tag":101,"props":187,"children":189},{"className":188},[],[190],{"type":25,"value":191},"main",{"type":25,"value":193}," only; the local qcontrol checkout sits on ",{"type":20,"tag":101,"props":195,"children":197},{"className":196},[],[198],{"type":25,"value":149},{"type":25,"value":200}," and does not have it.",{"type":20,"tag":21,"props":202,"children":203},{},[204,206,211],{"type":25,"value":205},"To read ",{"type":20,"tag":101,"props":207,"children":209},{"className":208},[],[210],{"type":25,"value":191},{"type":25,"value":212}," again without touching the checkout, extract it somewhere scratch:",{"type":20,"tag":214,"props":215,"children":221},"pre",{"className":216,"code":217,"language":218,"meta":219,"style":220},"language-bash","git -C ..\u002Fqcontrol fetch origin\ngit -C ..\u002Fqcontrol archive origin\u002Fmain cli crates\u002Fqdash\u002Fsrc crates\u002Fqevents crates\u002Fqmonitor crates\u002Fqconfig docs\u002Fplan\u002F2026-10-12-monitor-tui | tar -x -C \u003Ca scratch folder>\n","bash","","undefined",[222],{"type":20,"tag":101,"props":223,"children":224},{"__ignoreMap":219},[225],{"type":25,"value":217},{"type":20,"tag":115,"props":227,"children":229},{"id":228},"how-far-to-trust-them",[230],{"type":25,"value":14},{"type":20,"tag":121,"props":232,"children":233},{},[234,239,251,294],{"type":20,"tag":125,"props":235,"children":236},{},[237],{"type":25,"value":238},"Line numbers are as of those commits and will drift.",{"type":20,"tag":125,"props":240,"children":241},{},[242,244,249],{"type":25,"value":243},"Statements marked ",{"type":20,"tag":129,"props":245,"children":246},{},[247],{"type":25,"value":248},"(inferred)",{"type":25,"value":250}," were not confirmed in code.",{"type":20,"tag":125,"props":252,"children":253},{},[254,256,262,264,270,271,277,279,285,287,292],{"type":25,"value":255},"The backend snapshot the surveys read did not include ",{"type":20,"tag":101,"props":257,"children":259},{"className":258},[],[260],{"type":25,"value":261},"qsinks",{"type":25,"value":263},", ",{"type":20,"tag":101,"props":265,"children":267},{"className":266},[],[268],{"type":25,"value":269},"qconfig",{"type":25,"value":263},{"type":20,"tag":101,"props":272,"children":274},{"className":273},[],[275],{"type":25,"value":276},"qprocess",{"type":25,"value":278}," or ",{"type":20,"tag":101,"props":280,"children":282},{"className":281},[],[283],{"type":25,"value":284},"qinject",{"type":25,"value":286},". Two facts were checked against ",{"type":20,"tag":101,"props":288,"children":290},{"className":289},[],[291],{"type":25,"value":191},{"type":25,"value":293}," afterwards and are noted at the top of each file: the TUI's origin (qcontrol #782), and the data directory on macOS.",{"type":20,"tag":125,"props":295,"children":296},{},[297,299,305,307,313],{"type":25,"value":298},"Checked later, while writing the Guide: ",{"type":20,"tag":101,"props":300,"children":302},{"className":301},[],[303],{"type":25,"value":304},"crates\u002Fqconfig",{"type":25,"value":306}," loads no configuration from a URL, and ",{"type":20,"tag":101,"props":308,"children":310},{"className":309},[],[311],{"type":25,"value":312},"ui.dashboard",{"type":25,"value":314}," absent means the dashboard is on.",{"type":20,"tag":115,"props":316,"children":318},{"id":317},"what-the-plan-took-from-them",[319],{"type":25,"value":15},{"type":20,"tag":121,"props":321,"children":322},{},[323,328,333,338],{"type":20,"tag":125,"props":324,"children":325},{},[326],{"type":25,"value":327},"The TUI is the monitor process: half of what it shows has no surface outside it. The pages are ours to build; the feed is asked of the sensor's engineer.",{"type":20,"tag":125,"props":329,"children":330},{},[331],{"type":25,"value":332},"The TUI's Events tab and the live viewer read one stream, so that viewer is built once.",{"type":20,"tag":125,"props":334,"children":335},{},[336],{"type":25,"value":337},"The web live viewer has drifted from the sensor's current event schema; the native port is written against the current one.",{"type":20,"tag":125,"props":339,"children":340},{},[341],{"type":25,"value":342},"A subscriber costs the sensor a re-scan on every connect, and reading the dashboard's API means its SQLite projection is on.",{"type":20,"tag":344,"props":345,"children":346},"style",{},[347],{"type":25,"value":219},1794599388779]