[{"data":1,"prerenderedAt":769},["ShallowReactive",2],{"cycle-doc-design-c123-tours-real-pages.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":14},{"id":5,"title":6},"c123","Compliance Frameworks",{"id":8,"label":9},"design","Design","tours-real-pages.md","Tours — which pages are real (2026-10-29)",[13],"Done (same day; Mark ruled: \"Use qdash's Findings\")",{"type":15,"children":16},"root",[17,34,55,556,561,567,690,695,733,738,751,756],{"type":18,"tag":19,"props":20,"children":21},"element","p",{},[22,25,32],{"type":23,"value":24},"text","Thread ",{"type":18,"tag":26,"props":27,"children":29},"code",{"className":28},[],[30],{"type":23,"value":31},"tours",{"type":23,"value":33},". Mark: \"let's analyze and replace as many placeholder pages with real ones… This will help our demo make sense to those familiar with our live dashboard.\" Exceptions like the installer page, which doesn't exist yet.",{"type":18,"tag":19,"props":35,"children":36},{},[37,39,45,47,53],{"type":23,"value":38},"Every lab page the five tours walk, against qdash (",{"type":18,"tag":26,"props":40,"children":42},{"className":41},[],[43],{"type":23,"value":44},"..\u002Fqcontrol\u002Fcrates\u002Fqdash\u002Fui",{"type":23,"value":46},", ",{"type":18,"tag":26,"props":48,"children":50},{"className":49},[],[51],{"type":23,"value":52},"feat\u002Fnew-pages",{"type":23,"value":54},"):",{"type":18,"tag":56,"props":57,"children":58},"table",{},[59,93],{"type":18,"tag":60,"props":61,"children":62},"thead",{},[63],{"type":18,"tag":64,"props":65,"children":66},"tr",{},[67,73,78,83,88],{"type":18,"tag":68,"props":69,"children":70},"th",{},[71],{"type":23,"value":72},"Lab page",{"type":18,"tag":68,"props":74,"children":75},{},[76],{"type":23,"value":77},"Tours",{"type":18,"tag":68,"props":79,"children":80},{},[81],{"type":23,"value":82},"What it is today",{"type":18,"tag":68,"props":84,"children":85},{},[86],{"type":23,"value":87},"qdash has",{"type":18,"tag":68,"props":89,"children":90},{},[91],{"type":23,"value":92},"Proposal",{"type":18,"tag":94,"props":95,"children":96},"tbody",{},[97,132,163,192,222,260,292,333,372,412,450,482,519],{"type":18,"tag":64,"props":98,"children":99},{},[100,106,111,122,127],{"type":18,"tag":101,"props":102,"children":103},"td",{},[104],{"type":23,"value":105},"Organization › Endpoints",{"type":18,"tag":101,"props":107,"children":108},{},[109],{"type":23,"value":110},"start-here, observe-enforce, owasp",{"type":18,"tag":101,"props":112,"children":113},{},[114,120],{"type":18,"tag":115,"props":116,"children":117},"strong",{},[118],{"type":23,"value":119},"copy",{"type":23,"value":121}," of qdash's page (c121) + an \"Add endpoints\" button",{"type":18,"tag":101,"props":123,"children":124},{},[125],{"type":23,"value":126},"yes",{"type":18,"tag":101,"props":128,"children":129},{},[130],{"type":23,"value":131},"keep; the button is new",{"type":18,"tag":64,"props":133,"children":134},{},[135,140,145,154,158],{"type":18,"tag":101,"props":136,"children":137},{},[138],{"type":23,"value":139},"Organization › Teams › detail",{"type":18,"tag":101,"props":141,"children":142},{},[143],{"type":23,"value":144},"observe-enforce",{"type":18,"tag":101,"props":146,"children":147},{},[148,152],{"type":18,"tag":115,"props":149,"children":150},{},[151],{"type":23,"value":119},{"type":23,"value":153}," (c118) + the c118 Policies section",{"type":18,"tag":101,"props":155,"children":156},{},[157],{"type":23,"value":126},{"type":18,"tag":101,"props":159,"children":160},{},[161],{"type":23,"value":162},"keep",{"type":18,"tag":64,"props":164,"children":165},{},[166,171,175,184,188],{"type":18,"tag":101,"props":167,"children":168},{},[169],{"type":23,"value":170},"Policies (Control Center)",{"type":18,"tag":101,"props":172,"children":173},{},[174],{"type":23,"value":144},{"type":18,"tag":101,"props":176,"children":177},{},[178,182],{"type":18,"tag":115,"props":179,"children":180},{},[181],{"type":23,"value":119},{"type":23,"value":183}," (c114)",{"type":18,"tag":101,"props":185,"children":186},{},[187],{"type":23,"value":126},{"type":18,"tag":101,"props":189,"children":190},{},[191],{"type":23,"value":162},{"type":18,"tag":64,"props":193,"children":194},{},[195,200,205,214,218],{"type":18,"tag":101,"props":196,"children":197},{},[198],{"type":23,"value":199},"Compliance",{"type":18,"tag":101,"props":201,"children":202},{},[203],{"type":23,"value":204},"owasp",{"type":18,"tag":101,"props":206,"children":207},{},[208,212],{"type":18,"tag":115,"props":209,"children":210},{},[211],{"type":23,"value":119},{"type":23,"value":213}," (c114), minus two cards Mark discarded",{"type":18,"tag":101,"props":215,"children":216},{},[217],{"type":23,"value":126},{"type":18,"tag":101,"props":219,"children":220},{},[221],{"type":23,"value":162},{"type":18,"tag":64,"props":223,"children":224},{},[225,230,235,245,250],{"type":18,"tag":101,"props":226,"children":227},{},[228],{"type":23,"value":229},"Home",{"type":18,"tag":101,"props":231,"children":232},{},[233],{"type":23,"value":234},"common-risks, owasp",{"type":18,"tag":101,"props":236,"children":237},{},[238,243],{"type":18,"tag":115,"props":239,"children":240},{},[241],{"type":23,"value":242},"lab composition",{"type":23,"value":244},": six cards (findings, sensitive data, machines, sources, MCP servers, sessions)",{"type":18,"tag":101,"props":246,"children":247},{},[248],{"type":23,"value":249},"yes: the c109 index (Inventory \u002F Organization \u002F Activity micros) with no findings or sources cards",{"type":18,"tag":101,"props":251,"children":252},{},[253,258],{"type":18,"tag":115,"props":254,"children":255},{},[256],{"type":23,"value":257},"replace",{"type":23,"value":259}," with qdash's Home; the drills' Examples move to Findings, as Common AI risks already does",{"type":18,"tag":64,"props":261,"children":262},{},[263,268,273,278,282],{"type":18,"tag":101,"props":264,"children":265},{},[266],{"type":23,"value":267},"Inventory › MCP Servers (listing)",{"type":18,"tag":101,"props":269,"children":270},{},[271],{"type":23,"value":272},"—",{"type":18,"tag":101,"props":274,"children":275},{},[276],{"type":23,"value":277},"not in the lab",{"type":18,"tag":101,"props":279,"children":280},{},[281],{"type":23,"value":126},{"type":18,"tag":101,"props":283,"children":284},{},[285,290],{"type":18,"tag":115,"props":286,"children":287},{},[288],{"type":23,"value":289},"add",{"type":23,"value":291}," a copy; Common AI risks' MCP stop uses it instead of Sources",{"type":18,"tag":64,"props":293,"children":294},{},[295,300,304,313,318],{"type":18,"tag":101,"props":296,"children":297},{},[298],{"type":23,"value":299},"Inventory › MCP server detail",{"type":18,"tag":101,"props":301,"children":302},{},[303],{"type":23,"value":234},{"type":18,"tag":101,"props":305,"children":306},{},[307,311],{"type":18,"tag":115,"props":308,"children":309},{},[310],{"type":23,"value":242},{"type":23,"value":312}," for OWASP stop 2: watch band, consequence tools ledger, Policy section (Tune)",{"type":18,"tag":101,"props":314,"children":315},{},[316],{"type":23,"value":317},"yes: header, tiles, tools, harnesses",{"type":18,"tag":101,"props":319,"children":320},{},[321,325,327],{"type":18,"tag":115,"props":322,"children":323},{},[324],{"type":23,"value":257},{"type":23,"value":326}," the top with qdash's detail; keep the Policy section below it, marked ",{"type":18,"tag":328,"props":329,"children":330},"em",{},[331],{"type":23,"value":332},"new",{"type":18,"tag":64,"props":334,"children":335},{},[336,341,345,354,359],{"type":18,"tag":101,"props":337,"children":338},{},[339],{"type":23,"value":340},"Integrations",{"type":18,"tag":101,"props":342,"children":343},{},[344],{"type":23,"value":234},{"type":18,"tag":101,"props":346,"children":347},{},[348,352],{"type":18,"tag":115,"props":349,"children":350},{},[351],{"type":23,"value":242},{"type":23,"value":353},": channels + delivery log (drills)",{"type":18,"tag":101,"props":355,"children":356},{},[357],{"type":23,"value":358},"yes: connectors + live",{"type":18,"tag":101,"props":360,"children":361},{},[362,366,368],{"type":18,"tag":115,"props":363,"children":364},{},[365],{"type":23,"value":257},{"type":23,"value":367}," with qdash's page; add the delivery log below, marked ",{"type":18,"tag":328,"props":369,"children":370},{},[371],{"type":23,"value":332},{"type":18,"tag":64,"props":373,"children":374},{},[375,380,385,394,399],{"type":18,"tag":101,"props":376,"children":377},{},[378],{"type":23,"value":379},"Cost Center",{"type":18,"tag":101,"props":381,"children":382},{},[383],{"type":23,"value":384},"ai-spend",{"type":18,"tag":101,"props":386,"children":387},{},[388,392],{"type":18,"tag":115,"props":389,"children":390},{},[391],{"type":23,"value":242},{"type":23,"value":393}," (this thread) from c66's replica",{"type":18,"tag":101,"props":395,"children":396},{},[397],{"type":23,"value":398},"yes: tiles, breakdown, tables, guardrail",{"type":18,"tag":101,"props":400,"children":401},{},[402,406,408],{"type":18,"tag":115,"props":403,"children":404},{},[405],{"type":23,"value":257},{"type":23,"value":407}," the top with qdash's page; the tour's unit price, seats and runaway sections follow, marked ",{"type":18,"tag":328,"props":409,"children":410},{},[411],{"type":23,"value":332},{"type":18,"tag":64,"props":413,"children":414},{},[415,420,425,435,440],{"type":18,"tag":101,"props":416,"children":417},{},[418],{"type":23,"value":419},"Findings",{"type":18,"tag":101,"props":421,"children":422},{},[423],{"type":23,"value":424},"observe-enforce, common-risks, owasp",{"type":18,"tag":101,"props":426,"children":427},{},[428,433],{"type":18,"tag":115,"props":429,"children":430},{},[431],{"type":23,"value":432},"lab design",{"type":23,"value":434}," (c114 S2, c121 rulings: Observed \u002F Enforced, grouped by policy)",{"type":18,"tag":101,"props":436,"children":437},{},[438],{"type":23,"value":439},"yes, the older \"Security Findings\" worklist",{"type":18,"tag":101,"props":441,"children":442},{},[443,448],{"type":18,"tag":115,"props":444,"children":445},{},[446],{"type":23,"value":447},"decide",{"type":23,"value":449},": the tours need Observed \u002F Enforced, which only the new design has",{"type":18,"tag":64,"props":451,"children":452},{},[453,458,463,472,477],{"type":18,"tag":101,"props":454,"children":455},{},[456],{"type":23,"value":457},"Policy Config (history, proposed changes)",{"type":18,"tag":101,"props":459,"children":460},{},[461],{"type":23,"value":462},"observe-enforce, owasp",{"type":18,"tag":101,"props":464,"children":465},{},[466,470],{"type":18,"tag":115,"props":467,"children":468},{},[469],{"type":23,"value":432},{"type":23,"value":471}," (c118\u002Fc121: the draft, Change impact, versions)",{"type":18,"tag":101,"props":473,"children":474},{},[475],{"type":23,"value":476},"no",{"type":18,"tag":101,"props":478,"children":479},{},[480],{"type":23,"value":481},"keep; label as new",{"type":18,"tag":64,"props":483,"children":484},{},[485,490,494,504,508],{"type":18,"tag":101,"props":486,"children":487},{},[488],{"type":23,"value":489},"Inventory › Sources",{"type":18,"tag":101,"props":491,"children":492},{},[493],{"type":23,"value":234},{"type":18,"tag":101,"props":495,"children":496},{},[497,502],{"type":18,"tag":115,"props":498,"children":499},{},[500],{"type":23,"value":501},"concept",{"type":23,"value":503}," (c123 OWASP, 2026-10-27); three of its seven checks don't exist",{"type":18,"tag":101,"props":505,"children":506},{},[507],{"type":23,"value":476},{"type":18,"tag":101,"props":509,"children":510},{},[511,513,517],{"type":23,"value":512},"keep for OWASP only, labelled ",{"type":18,"tag":328,"props":514,"children":515},{},[516],{"type":23,"value":501},{"type":23,"value":518},"; out of Common AI risks",{"type":18,"tag":64,"props":520,"children":521},{},[522,527,532,541,545],{"type":18,"tag":101,"props":523,"children":524},{},[525],{"type":23,"value":526},"Organization › Endpoints › Add endpoints",{"type":18,"tag":101,"props":528,"children":529},{},[530],{"type":23,"value":531},"start-here",{"type":18,"tag":101,"props":533,"children":534},{},[535,539],{"type":18,"tag":115,"props":536,"children":537},{},[538],{"type":23,"value":501},{"type":23,"value":540}," (this thread): installer, token, first signal",{"type":18,"tag":101,"props":542,"children":543},{},[544],{"type":23,"value":476},{"type":18,"tag":101,"props":546,"children":547},{},[548,550,554],{"type":23,"value":549},"keep, labelled ",{"type":18,"tag":328,"props":551,"children":552},{},[553],{"type":23,"value":501},{"type":23,"value":555}," (Mark's exception)",{"type":18,"tag":19,"props":557,"children":558},{},[559],{"type":23,"value":560},"\"Copy\" means the page's markup is lifted from qdash and fed from the lab's world instead of the API. \"Marked new\" means a small tag on the section, in the same vocabulary the OWASP spec uses for product asks.",{"type":18,"tag":562,"props":563,"children":565},"h2",{"id":564},"done-same-day-mark-ruled-use-qdashs-findings",[566],{"type":23,"value":13},{"type":18,"tag":56,"props":568,"children":569},{},[570,586],{"type":18,"tag":60,"props":571,"children":572},{},[573],{"type":18,"tag":64,"props":574,"children":575},{},[576,581],{"type":18,"tag":68,"props":577,"children":578},{},[579],{"type":23,"value":580},"Page",{"type":18,"tag":68,"props":582,"children":583},{},[584],{"type":23,"value":585},"Now",{"type":18,"tag":94,"props":587,"children":588},{},[589,615,627,640,652,664,677],{"type":18,"tag":64,"props":590,"children":591},{},[592,596],{"type":18,"tag":101,"props":593,"children":594},{},[595],{"type":23,"value":419},{"type":18,"tag":101,"props":597,"children":598},{},[599,601,607,609],{"type":23,"value":600},"copy of qdash's Security Findings: cards, filter bar, ledger by control (data\u002Fqdash\u002Ffindings.ts ",{"type":18,"tag":26,"props":602,"children":604},{"className":603},[],[605],{"type":23,"value":606},"toQdashFindings",{"type":23,"value":608}," over the lab world; local adjudication). The governance design is at ",{"type":18,"tag":26,"props":610,"children":612},{"className":611},[],[613],{"type":23,"value":614},"\u002Fmock\u002Ffindings-design",{"type":18,"tag":64,"props":616,"children":617},{},[618,622],{"type":18,"tag":101,"props":619,"children":620},{},[621],{"type":23,"value":229},{"type":18,"tag":101,"props":623,"children":624},{},[625],{"type":23,"value":626},"copy of qdash's index: 33 micros under qdash's keys (data\u002Fqdash\u002Fhome-index.ts)",{"type":18,"tag":64,"props":628,"children":629},{},[630,635],{"type":18,"tag":101,"props":631,"children":632},{},[633],{"type":23,"value":634},"MCP Servers",{"type":18,"tag":101,"props":636,"children":637},{},[638],{"type":23,"value":639},"listing copied (new route); the detail has qdash on top, with the tour's consequence and Policy sections below, marked new",{"type":18,"tag":64,"props":641,"children":642},{},[643,647],{"type":18,"tag":101,"props":644,"children":645},{},[646],{"type":23,"value":340},{"type":18,"tag":101,"props":648,"children":649},{},[650],{"type":23,"value":651},"qdash's connectors and Live on top; routing and the delivery log below, marked new",{"type":18,"tag":64,"props":653,"children":654},{},[655,659],{"type":18,"tag":101,"props":656,"children":657},{},[658],{"type":23,"value":379},{"type":18,"tag":101,"props":660,"children":661},{},[662],{"type":23,"value":663},"qdash's tiles, guardrail (P-SPEND), chart and tables on top; the tour's unit price, seats and spike below, marked new",{"type":18,"tag":64,"props":665,"children":666},{},[667,672],{"type":18,"tag":101,"props":668,"children":669},{},[670],{"type":23,"value":671},"Sources",{"type":18,"tag":101,"props":673,"children":674},{},[675],{"type":23,"value":676},"no tour uses it now, and it's off the rail (still reachable by URL); OWASP stop 1 walks the MCP Servers listing, and stop 5 walks postmark-mcp-server's detail",{"type":18,"tag":64,"props":678,"children":679},{},[680,685],{"type":18,"tag":101,"props":681,"children":682},{},[683],{"type":23,"value":684},"Add endpoints",{"type":18,"tag":101,"props":686,"children":687},{},[688],{"type":23,"value":689},"tagged \"Concept · not in qdash yet\" (the one concept page left in a tour)",{"type":18,"tag":19,"props":691,"children":692},{},[693],{"type":23,"value":694},"What the tours changed:",{"type":18,"tag":696,"props":697,"children":698},"ul",{},[699,705,718,723,728],{"type":18,"tag":700,"props":701,"children":702},"li",{},[703],{"type":23,"value":704},"Common AI risks' MCP stop walks the MCP Servers listing, not Sources.",{"type":18,"tag":700,"props":706,"children":707},{},[708,710,716],{"type":23,"value":709},"Every Drill's Example is qdash's Findings ledger, with the simulated findings as groups on top (",{"type":18,"tag":26,"props":711,"children":713},{"className":712},[],[714],{"type":23,"value":715},"drill-findings.ts",{"type":23,"value":717},").",{"type":18,"tag":700,"props":719,"children":720},{},[721],{"type":23,"value":722},"OWASP's drills and its data stop moved from Home's cards to Findings.",{"type":18,"tag":700,"props":724,"children":725},{},[726],{"type":23,"value":727},"The Observed \u002F Enforced wording is gone from the copy: qdash has Open \u002F Closed \u002F All.",{"type":18,"tag":700,"props":729,"children":730},{},[731],{"type":23,"value":732},"AI spend's callout points at sorting the Model table by Tokens.",{"type":18,"tag":19,"props":734,"children":735},{},[736],{"type":23,"value":737},"The numbers agree across pages:",{"type":18,"tag":696,"props":739,"children":740},{},[741,746],{"type":18,"tag":700,"props":742,"children":743},{},[744],{"type":23,"value":745},"Home's MCP micros read the MCP listing's fixture (14 servers, 12 observed and 2 configured-only, 32.8k calls, 99 tools).",{"type":18,"tag":700,"props":747,"children":748},{},[749],{"type":23,"value":750},"Integrations' counts read the lab's 22 findings (21 high, 1 medium), 1,284 sessions and 14 MCP servers.",{"type":18,"tag":19,"props":752,"children":753},{},[754],{"type":23,"value":755},"The walk passed all five tours: 178 checks + 126 for OWASP, 0 failures.",{"type":18,"tag":19,"props":757,"children":758},{},[759,761,767],{"type":23,"value":760},"Open: ",{"type":18,"tag":26,"props":762,"children":764},{"className":763},[],[765],{"type":23,"value":766},"app\u002Fdata\u002Fapp-map.ts",{"type":23,"value":768}," (c125 mcp-guide) still names the old IDs. That session was sent the full list.",1794599402022]