[{"data":1,"prerenderedAt":450},["ShallowReactive",2],{"cycle-doc-qmap-c29-design-c101-finding-sessions.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":16},{"id":5,"title":6},"c29","look-and-feel",{"id":8,"label":9},"qmap","Qmap","design-c101-finding-sessions.md","From design c101: six finding sessions, and the pawns they need",[13,14,15],"The six, in one line each","Pawns needed","Where the data is",{"type":17,"children":18},"root",[19,31,36,42,125,130,142,166,171,179,230,240,250,266,271,413],{"type":20,"tag":21,"props":22,"children":23},"element","p",{},[24],{"type":20,"tag":25,"props":26,"children":27},"em",{},[28],{"type":29,"value":30},"text","Handoff from design c101 (Qmap Surface), 2026-11-03. The source of truth stays in design: if this note and the files it points to disagree, the design files win.",{"type":20,"tag":21,"props":32,"children":33},{},[34],{"type":29,"value":35},"Design wrote six example agent sessions, each of which set off one or more policy findings. They're meant to be staged in qmap as small scenes (\"dioramas\"): one session per scene, about 6–17 actors each, drawn as two stills on the same cast: the finding, then what happened to it afterwards.",{"type":20,"tag":37,"props":38,"children":40},"h2",{"id":39},"the-six-in-one-line-each",[41],{"type":29,"value":13},{"type":20,"tag":43,"props":44,"children":45},"ol",{},[46,58,68,87,97,115],{"type":20,"tag":47,"props":48,"children":49},"li",{},[50,56],{"type":20,"tag":51,"props":52,"children":53},"strong",{},[54],{"type":29,"value":55},"The stranger on the phone.",{"type":29,"value":57}," Dana's Claude Code calls a Vanta MCP server nobody set up, signed in with her personal account. Observed.",{"type":20,"tag":47,"props":59,"children":60},{},[61,66],{"type":20,"tag":51,"props":62,"children":63},{},[64],{"type":29,"value":65},"The secret in the test file.",{"type":29,"value":67}," Amara's Claude Code reads a fixture of real customer SSNs and sends them to the model and a Linear ticket. Observed; blocked from the next session on.",{"type":20,"tag":47,"props":69,"children":70},{},[71,76,78,85],{"type":20,"tag":51,"props":72,"children":73},{},[74],{"type":29,"value":75},"No brakes.",{"type":29,"value":77}," Marcus runs Codex with approvals and the sandbox off. It reads ",{"type":20,"tag":79,"props":80,"children":82},"code",{"className":81},[],[83],{"type":29,"value":84},"~\u002F.pgpass",{"type":29,"value":86},", force-pushes and deletes a folder. Observed.",{"type":20,"tag":47,"props":88,"children":89},{},[90,95],{"type":20,"tag":51,"props":91,"children":92},{},[93],{"type":29,"value":94},"The door that stayed shut.",{"type":29,"value":96}," Raj's Claude Code tries two paste sites, and both are blocked. Separately, an internal mirror negotiates weak TLS.",{"type":20,"tag":47,"props":98,"children":99},{},[100,105,107,113],{"type":20,"tag":51,"props":101,"children":102},{},[103],{"type":29,"value":104},"The trick note.",{"type":29,"value":106}," An injected Sentry event gets Priya's Claude Code to read ",{"type":20,"tag":79,"props":108,"children":110},{"className":109},[],[111],{"type":29,"value":112},"~\u002F.aws\u002Fcredentials",{"type":29,"value":114},". The send-out is blocked.",{"type":20,"tag":47,"props":116,"children":117},{},[118,123],{"type":20,"tag":51,"props":119,"children":120},{},[121],{"type":29,"value":122},"The invisible helper.",{"type":29,"value":124}," An unwatched process on Felix's machine talks to OpenAI for three hours. Only the traffic is visible.",{"type":20,"tag":37,"props":126,"children":128},{"id":127},"pawns-needed",[129],{"type":29,"value":14},{"type":20,"tag":21,"props":131,"children":132},{},[133,135,140],{"type":29,"value":134},"To stage all six scenes, qmap needs ",{"type":20,"tag":51,"props":136,"children":137},{},[138],{"type":29,"value":139},"11 pawns plus the guard's marks",{"type":29,"value":141},":",{"type":20,"tag":143,"props":144,"children":145},"ul",{},[146,156],{"type":20,"tag":47,"props":147,"children":148},{},[149,154],{"type":20,"tag":51,"props":150,"children":151},{},[152],{"type":29,"value":153},"Pawns:",{"type":29,"value":155}," helper (harness), person, laptop (endpoint), brain (model), brain's company (provider), badge (account), plug-in (MCP server), tool, project (repo), file, outside place (destination).",{"type":20,"tag":47,"props":157,"children":158},{},[159,164],{"type":20,"tag":51,"props":160,"children":161},{},[162],{"type":29,"value":163},"The guard's marks:",{"type":29,"value":165}," a finding flag by severity; Observed vs Enforced; open, ignored-until-a-date, resolved and pending.",{"type":20,"tag":21,"props":167,"children":168},{},[169],{"type":29,"value":170},"Skill and Team aren't needed. Team stays a rug.",{"type":20,"tag":21,"props":172,"children":173},{},[174],{"type":20,"tag":51,"props":175,"children":176},{},[177],{"type":29,"value":178},"First priority:",{"type":20,"tag":143,"props":180,"children":181},{},[182,192,202,212,222],{"type":20,"tag":47,"props":183,"children":184},{},[185,190],{"type":20,"tag":51,"props":186,"children":187},{},[188],{"type":29,"value":189},"Helper:",{"type":29,"value":191}," watched · no brakes (approval gate missing) · unknown silhouette.",{"type":20,"tag":47,"props":193,"children":194},{},[195,200],{"type":20,"tag":51,"props":196,"children":197},{},[198],{"type":29,"value":199},"Plug-in:",{"type":29,"value":201}," configured · stranger (used, in no config) · joins the rug after an exception.",{"type":20,"tag":47,"props":203,"children":204},{},[205,210],{"type":20,"tag":51,"props":206,"children":207},{},[208],{"type":29,"value":209},"File:",{"type":29,"value":211}," ordinary · sensitive, high or critical.",{"type":20,"tag":47,"props":213,"children":214},{},[215,220],{"type":20,"tag":51,"props":216,"children":217},{},[218],{"type":29,"value":219},"Outside place:",{"type":29,"value":221}," approved · weak TLS · not approved and blocked (at a wall) · not approved and crossed.",{"type":20,"tag":47,"props":223,"children":224},{},[225],{"type":20,"tag":51,"props":226,"children":227},{},[228],{"type":29,"value":229},"The guard's marks.",{"type":20,"tag":21,"props":231,"children":232},{},[233,238],{"type":20,"tag":51,"props":234,"children":235},{},[236],{"type":29,"value":237},"Missing art for every scene:",{"type":29,"value":239}," the laptop has no 3D form, and the person, project and badge have no forms of their own.",{"type":20,"tag":21,"props":241,"children":242},{},[243,248],{"type":20,"tag":51,"props":244,"children":245},{},[246],{"type":29,"value":247},"Beyond pawns:",{"type":29,"value":249}," a session rug vs an install rug, a payload riding a line, a gate on a line, a wall at the boundary, numbered steps, and fog for what can't be seen.",{"type":20,"tag":21,"props":251,"children":252},{},[253,255,264],{"type":29,"value":254},"The full table, with the states each session needs and the art that exists today, is in ",{"type":20,"tag":51,"props":256,"children":257},{},[258],{"type":20,"tag":79,"props":259,"children":261},{"className":260},[],[262],{"type":29,"value":263},"design\u002Fcycles\u002Fc101.qmap-surface\u002Fpawns-needed.md",{"type":29,"value":265},".",{"type":20,"tag":37,"props":267,"children":269},{"id":268},"where-the-data-is",[270],{"type":29,"value":15},{"type":20,"tag":272,"props":273,"children":274},"table",{},[275,294],{"type":20,"tag":276,"props":277,"children":278},"thead",{},[279],{"type":20,"tag":280,"props":281,"children":282},"tr",{},[283,289],{"type":20,"tag":284,"props":285,"children":286},"th",{},[287],{"type":29,"value":288},"What",{"type":20,"tag":284,"props":290,"children":291},{},[292],{"type":29,"value":293},"Where",{"type":20,"tag":295,"props":296,"children":297},"tbody",{},[298,316,333,362,379,396],{"type":20,"tag":280,"props":299,"children":300},{},[301,307],{"type":20,"tag":302,"props":303,"children":304},"td",{},[305],{"type":29,"value":306},"The sessions as JSON (actors with kind, name, state, beats and the findings on them; beats with time, text, actors and finding)",{"type":20,"tag":302,"props":308,"children":309},{},[310],{"type":20,"tag":79,"props":311,"children":313},{"className":312},[],[314],{"type":29,"value":315},"..\u002Fdesign\u002Fcycles\u002Fc101.qmap-surface\u002Ffinding-sessions.json",{"type":20,"tag":280,"props":317,"children":318},{},[319,324],{"type":20,"tag":302,"props":320,"children":321},{},[322],{"type":29,"value":323},"Pawn list",{"type":20,"tag":302,"props":325,"children":326},{},[327],{"type":20,"tag":79,"props":328,"children":330},{"className":329},[],[331],{"type":29,"value":332},"..\u002Fdesign\u002Fcycles\u002Fc101.qmap-surface\u002Fpawns-needed.md",{"type":20,"tag":280,"props":334,"children":335},{},[336,341],{"type":20,"tag":302,"props":337,"children":338},{},[339],{"type":29,"value":340},"Readable page: characters, plain-words stories, each session's actors and beats",{"type":20,"tag":302,"props":342,"children":343},{},[344,346,352,354,360],{"type":29,"value":345},"design site ",{"type":20,"tag":79,"props":347,"children":349},{"className":348},[],[350],{"type":29,"value":351},"\u002Fcycles\u002Fdesign\u002Fc101\u002Fsessions",{"type":29,"value":353}," (",{"type":20,"tag":79,"props":355,"children":357},{"className":356},[],[358],{"type":29,"value":359},"http:\u002F\u002Flocalhost:3000\u002Fcycles\u002Fdesign\u002Fc101\u002Fsessions",{"type":29,"value":361}," locally)",{"type":20,"tag":280,"props":363,"children":364},{},[365,370],{"type":20,"tag":302,"props":366,"children":367},{},[368],{"type":29,"value":369},"Prose, with the stills sketched per scene",{"type":20,"tag":302,"props":371,"children":372},{},[373],{"type":20,"tag":79,"props":374,"children":376},{"className":375},[],[377],{"type":29,"value":378},"..\u002Fdesign\u002Fcycles\u002Fc101.qmap-surface\u002Ffinding-sessions.md",{"type":20,"tag":280,"props":380,"children":381},{},[382,387],{"type":20,"tag":302,"props":383,"children":384},{},[385],{"type":29,"value":386},"Existing art per actor (2D, 3D mesh, voxel, ASCII)",{"type":20,"tag":302,"props":388,"children":389},{},[390],{"type":20,"tag":79,"props":391,"children":393},{"className":392},[],[394],{"type":29,"value":395},"..\u002Fdesign\u002Fcycles\u002Fc101.qmap-surface\u002Fpawn-inventory.md",{"type":20,"tag":280,"props":397,"children":398},{},[399,404],{"type":20,"tag":302,"props":400,"children":401},{},[402],{"type":29,"value":403},"The Surface brief: 13 actors, twenty problems",{"type":20,"tag":302,"props":405,"children":406},{},[407],{"type":20,"tag":79,"props":408,"children":410},{"className":409},[],[411],{"type":29,"value":412},"..\u002Fdesign\u002Fcycles\u002Fc101.qmap-surface\u002Fbrief.md",{"type":20,"tag":21,"props":414,"children":415},{},[416,418,424,426,432,434,440,442,448],{"type":29,"value":417},"The JSON is generated from ",{"type":20,"tag":79,"props":419,"children":421},{"className":420},[],[422],{"type":29,"value":423},"design\u002Fapp\u002Fdata\u002Ffinding-sessions-c101.ts",{"type":29,"value":425}," with ",{"type":20,"tag":79,"props":427,"children":429},{"className":428},[],[430],{"type":29,"value":431},"npx tsx scripts\u002Ffinding-sessions-export.mts",{"type":29,"value":433}," (run in ",{"type":20,"tag":79,"props":435,"children":437},{"className":436},[],[438],{"type":29,"value":439},"design\u002F",{"type":29,"value":441},"). Edit the ",{"type":20,"tag":79,"props":443,"children":445},{"className":444},[],[446],{"type":29,"value":447},".ts",{"type":29,"value":449},", not the JSON.",1794599379106]